56 lines
1.7 KiB
Markdown
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
|
|
```
|