Files
openai_format_embedding/README.md

72 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# openai_format_embedding
一个兼容 OpenAI Embeddings 接口格式的本地向量服务,基本支持所有 huggingface 能找到的嵌入模型。
## 功能说明
- 提供 `POST /v1/embeddings` 接口
- 支持单条文本或文本数组输入
- 返回结构与 OpenAI Embeddings 响应格式一致
- 可通过环境变量配置模型路径、监听地址、端口和 worker 数
## 环境变量
可参考 [.env.example](.env.example)。
- `EMBEDDING_PATH`:模型目录路径,支持本地路径或 UNC 网络路径
- `EMBEDDING_HOST`:服务监听地址,默认 `0.0.0.0`
- `EMBEDDING_PORT`:服务监听端口,默认 `8000`
- `EMBEDDING_WORKERS`Uvicorn worker 数,默认 `5`
## 安装依赖
```bash
pip install -r requirements.txt
```
## 启动服务
```
# 编辑 .env 文件,配置 EMBEDDING_PATH 等参数
cp .env.example .env
# 启动服务
python main.py
```
## 调用示例
```bash
curl -X POST "http://127.0.0.1:8000/v1/embeddings" \
-H "Content-Type: application/json" \
-d '{
"model": "bge-m3",
"input": ["hello world", "你好,向量服务"]
}'
```
返回示例(结构示意):
```json
{
"data": [
{
"object": "embedding",
"embedding": [0.0123, -0.0456],
"index": 0
}
],
"model": "bge-m3",
"object": "list",
"usage": {
"prompt_tokens": 2,
"total_tokens": 4
}
}
```
## 说明
- `prompt_tokens` 当前实现按空格分词统计
- `total_tokens` 使用 `cl100k_base` 编码统计