Files
copilot-app/embeddings/README.md
2025-08-13 19:03:20 +08:00

56 lines
1.7 KiB
Markdown

# 本地 Embeddings 模型API服务
下载本地 `Embedding模型` 并转为 `OpenAI` 接口格式的 API 服务。
## 准备工作
- Python 3.9+
- 选择合适的模型文件 (根据效果自行测试), 程序支持自动提升维度或降级维度到指定维度(接口中传递的 `dimensions` 参数, 默认为512)
- 下载模型文件,放置在 `./models` 目录下, 国内下载可以去 [魔搭社区](https://www.modelscope.cn/models/BAAI/bge-m3), 速度不受影响
## 环境变量参数
- `sk-key`: 服务的 `API KEY`,默认为 `sk-aaabbbcccdddeeefffggghhhiiijjjkkk`
- `auto-dim`: 是否自动进行维度操作, 若为 `true` 则会自动提升或降级维度到512, 默认为 `false`
- `model-name`: 模型目录名称, 默认为 `bge-m3`, 注意必须在models文件夹下有对应的模型文件夹
## 运行服务
```shell
pip install -r requirements.txt
```
```shell
python app.py
```
```bash
curl --location --request POST 'http://127.0.0.1:6008/v1/embeddings' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-aaabbbcccdddeeefffggghhhiiijjjkkk' \
--data-raw '{
"input": [
"解析当前项目"
],
"model": "text-embedding-3-small",
"dimensions": 512
}'
```
## Docker 运行
将 [docker-compose.yml](docker-compose.yml) 文件放在任意目录下, 然后执行命令:
```bash
docker-compose up -d
```
镜像内已经将模型打包好了, 所以首次执行会比较慢, 如果需要更新或新增模型, 直接将新的模型文件放在 `./models` 目录下, 更改环境变量 `model-name` 即可
然后重新启动服务即可:
```bash
docker-compose restart
# 如果未生效, 可以先停止再启动
docker-compose down
docker-compose up -d
```