> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crazyrouter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 重排序

> 对搜索结果进行语义重排序

> 更新日期：2026-06-06

## 接口说明

对一组文档按照与查询的语义相关性进行重新排序，常用于 RAG 检索增强生成的第二阶段精排。

<Note>
  参考 [SiliconFlow Rerank API](https://docs.siliconflow.cn/cn/api-reference/rerank/create-rerank) 格式实现。
</Note>

## 支持模型

| 模型              | 说明          |
| --------------- | ----------- |
| `gte-rerank-v2` | 多语言重排序模型，推荐 |
| `gte-rerank-v2` | 英文为主        |

## 请求参数

<ParamField body="model" type="string" required>
  重排序模型名称，如 `gte-rerank-v2`
</ParamField>

<ParamField body="query" type="string" required>
  查询文本
</ParamField>

<ParamField body="documents" type="string[]" required>
  待排序的文档列表
</ParamField>

<ParamField body="top_n" type="integer">
  返回前 N 个结果，默认返回全部
</ParamField>

<ParamField body="return_documents" type="boolean" default="true">
  是否在响应中返回文档原文
</ParamField>

## 响应格式

```json theme={null}
{
  "model": "gte-rerank-v2",
  "results": [
    {
      "index": 2,
      "relevance_score": 0.9875,
      "document": { "text": "最相关的文档内容" }
    },
    {
      "index": 0,
      "relevance_score": 0.7432,
      "document": { "text": "次相关的文档内容" }
    },
    {
      "index": 1,
      "relevance_score": 0.1205,
      "document": { "text": "不太相关的文档内容" }
    }
  ],
  "usage": {
    "total_tokens": 128
  }
}
```

## 代码示例

<CodeGroup>
  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.crazyrouter.com/v1/rerank",
      headers={
          "Authorization": "Bearer sk-xxx",
          "Content-Type": "application/json"
      },
      json={
          "model": "gte-rerank-v2",
          "query": "什么是向量数据库",
          "documents": [
              "向量数据库是专门存储和检索高维向量的数据库系统",
              "关系型数据库使用表格存储结构化数据",
              "向量数据库支持近似最近邻搜索，适合语义检索场景",
              "Redis 是一个内存键值存储系统"
          ],
          "top_n": 2,
          "return_documents": True
      }
  )

  data = response.json()
  for result in data["results"]:
      print(f"[{result['relevance_score']:.4f}] {result['document']['text']}")
  ```

  ```bash cURL theme={null}
  curl -X POST https://api.crazyrouter.com/v1/rerank \
    -H "Authorization: Bearer sk-xxx" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "gte-rerank-v2",
      "query": "什么是向量数据库",
      "documents": [
        "向量数据库是专门存储和检索高维向量的数据库系统",
        "关系型数据库使用表格存储结构化数据"
      ],
      "top_n": 2
    }'
  ```
</CodeGroup>

## 典型 RAG 流程

```
用户查询 → Embedding 检索 Top-K → Rerank 精排 → LLM 生成回答
```

<Warning>
  重排序模型的输入文档数量建议不超过 100 条。文档过多会增加延迟和费用。
</Warning>
