openai_format_embedding

一个兼容 OpenAI Embeddings 接口格式的本地向量服务,基本支持所有 huggingface 能找到的嵌入模型。

功能说明

  • 提供 POST /v1/embeddings 接口
  • 支持单条文本或文本数组输入
  • 返回结构与 OpenAI Embeddings 响应格式一致
  • 可通过环境变量配置模型路径、监听地址、端口和 worker 数

环境变量

可参考 .env.example

  • EMBEDDING_PATH:模型目录路径,支持本地路径或 UNC 网络路径
  • EMBEDDING_HOST:服务监听地址,默认 0.0.0.0
  • EMBEDDING_PORT:服务监听端口,默认 8000
  • EMBEDDING_WORKERSUvicorn worker 数,默认 5

安装依赖

pip install -r requirements.txt

启动服务

# 编辑 .env 文件,配置 EMBEDDING_PATH 等参数
cp .env.example .env

# 启动服务
python main.py

调用示例

curl -X POST "http://127.0.0.1:8000/v1/embeddings" \
	-H "Content-Type: application/json" \
	-d '{
		"model": "bge-m3",
		"input": ["hello world", "你好,向量服务"]
	}'

返回示例(结构示意):

{
	"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 编码统计
Description
No description provided
Readme 26 KiB
Languages
Python 100%