Rerank
根據查詢對文件列表進行相關性重排序。常用於 RAG 檢索後的二次排序,提升召回精度。
POST https://wrouter.ai/v1/rerank請求體
| 引數 | 型別 | 必填 | 說明 |
|---|---|---|---|
model | string | ✓ | 如 bge-reranker-v2-m3、jina-reranker-v2、cohere-rerank-3.5 |
query | string | ✓ | 查詢文本 |
documents | array | ✓ | 要重排序的文件列表(字串陣列) |
top_n | integer | 僅返回相關性最高的前 N 個 | |
return_documents | boolean | 是否在響應中迴帶文件原文,預設 false |
響應
json
{
"id": "rerank-xxx",
"results": [
{"index": 2, "relevance_score": 0.93, "document": {"text": "..."}},
{"index": 0, "relevance_score": 0.78}
],
"meta": {
"api_version": {"version": "1"},
"billed_units": {"search_units": 1}
}
}results[].index 對應請求中 documents 陣列的下標,已按 relevance_score 降序。
示例
bash
curl https://wrouter.ai/v1/rerank \
-H "Authorization: Bearer $WROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bge-reranker-v2-m3",
"query": "WRouter 是什麼?",
"documents": [
"WRouter 是一個 OpenAI 相容的多模型路由閘道器。",
"今天天氣很好。",
"Anthropic Claude 是 WRouter 支援的模型之一。"
],
"top_n": 2,
"return_documents": true
}'python
import httpx
resp = httpx.post(
"https://wrouter.ai/v1/rerank",
headers={"Authorization": "Bearer sk-..."},
json={
"model": "bge-reranker-v2-m3",
"query": "WRouter 是什麼?",
"documents": [...],
"top_n": 5,
},
)
print(resp.json()["results"])應用場景
典型的 RAG 流程:
- 用 Embeddings 做向量召回,拿到候選文件(如 top 100)
- 用 Rerank 在候選集上做精排(如 top 5)
- 把 top 5 餵給 Chat Completions 生成回答
相比直接用向量相似度,Rerank 顯著提升 top-K 精度,但延遲更高,所以多用作兩階段檢索的二階段。