/embedding

Primary LanguagePythonApache License 2.0Apache-2.0

文本向量化HTTP服务

这是一个基于Flask的HTTP服务,用于将文本转换为稠密向量和稀疏向量。该服务使用BAAI/bge-m3模型进行向量化处理。

安装依赖

pip install -r requirements.txt

启动服务

python main.py

服务将在 http://localhost:5000 上运行。

API接口

1. 文本向量化

  • URL: /encode
  • 方法: POST
  • 请求体:
    {
      "texts": ["需要向量化的文本1", "需要向量化的文本2"],  // 字符串数组,包含需要向量化的文本
      "return_dense": true,  // 可选,是否返回稠密向量,默认为true
      "return_sparse": true  // 可选,是否返回稀疏向量,默认为true
    }
  • 响应:
    {
      "dense_embeddings": [  // 稠密向量数组(当return_dense=true时返回)
        [...],  // 第一个文本的稠密向量
        [...]   // 第二个文本的稠密向量
      ],
      "sparse_embeddings": [  // 稀疏向量数组(当return_sparse=true时返回)
        {  // 第一个文本的稀疏向量
          "raw": {"token_id": weight, ...},  // 原始token_id和权重
          "readable": {"token": weight, ...}  // 可读的token和权重
        },
        {  // 第二个文本的稀疏向量
          "raw": {"token_id": weight, ...},
          "readable": {"token": weight, ...}
        }
      ],
      "model_info": {
        "name": "BAAI/bge-m3",
        "type": "hybrid_embedding"
      }
    }

2. 健康检查

  • URL: /health
  • 方法: GET
  • 响应:
    {
      "status": "ok"
    }

注意事项

  • 确保已登录HuggingFace,以便能够下载和使用BAAI/bge-m3模型
  • 对于Mac用户,已默认设置use_fp16=False