# 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` 编码统计