使用Docker快速搭建OpenAI兼容的Embeddings与Rerank双API服务
前言
在构建智能搜索、推荐系统等AI应用时,**文本向量化(Embeddings)和结果重排序(Reranking)**是两个关键环节。本文将手把手教您通过Docker快速部署两大核心服务:
- Embeddings API:基于
multilingual-e5-large-instruct
模型的文本向量生成服务 - Rerank API:采用
bce-reranker-base_v1
模型的语义相关性排序服务
二者配合使用可构建完整的语义检索流水线,先通过向量搜索召回候选集,再通过语义重排序提升结果精度。
环境准备
硬件要求
- 推荐配置:16GB内存 + NVIDIA GPU(支持CUDA)
- 最低配置:8GB内存(仅CPU模式)
软件依赖
- Docker 20.10+
- NVIDIA Container Toolkit(GPU版需要)
- 端口可用性:7965(Embeddings)、7987(Rerank)
双服务部署指南
1. Embeddings API部署
启动容器
docker run -d --name embeddings-api \
-p 7965:7965 \
--gpus all \
engchina/embeddings-api:multilingual-e5-large-instruct
参数说明
参数 | 作用 |
---|---|
--gpus all |
启用GPU加速(CPU模式可删除) |
-p 7965:7965 |
服务暴露端口 |
2. Rerank API部署
启动容器
docker run -d --name rerank-api \
-p 7987:7987 \
engchina/rerank-api:bce-reranker-base_v1
服务验证与测试
通用验证方法
访问API文档页面(服务启动约1分钟后生效):
- Embeddings API文档:http://localhost:7965/docs
- Rerank API文档:http://localhost:7987/docs
1. Embeddings API测试
请求示例
curl -X POST "http://localhost:7965/v1/embeddings" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-large",
"input": "OpenAI API兼容测试",
"encoding_format": "float"
}'
响应特征
{
"data": [
{
"embedding": [0.017, -0.032, ..., 0.021], // 1024维向量
"index": 0,
"object": "embedding"
}
],
"model": "text-embedding-3-large",
"usage": {
"prompt_tokens": 5