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

# 文档重排序

> 按与查询的相关性对候选文档重新排序

同步接口 — 对候选文档按与查询文本的相关性进行重新排序，常用于 RAG 检索增强。参数直接透传给上游模型。

<RequestExample>
  ```bash cURL theme={"system"}
  curl https://www.qingbo.dev/v1/rerank \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "jina-reranker-v2-base-multilingual",
      "query": "什么是机器学习？",
      "documents": [
        "机器学习是人工智能的一个分支",
        "今天天气很好",
        "深度学习使用神经网络进行特征学习"
      ]
    }'
  ```

  ```python Python theme={"system"}
  import requests

  response = requests.post(
      "https://www.qingbo.dev/v1/rerank",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
      json={
          "model": "jina-reranker-v2-base-multilingual",
          "query": "什么是机器学习？",
          "documents": [
              "机器学习是人工智能的一个分支",
              "今天天气很好",
              "深度学习使用神经网络进行特征学习"
          ]
      }
  )

  print(response.json())
  ```

  ```javascript JavaScript theme={"system"}
  const response = await fetch('https://www.qingbo.dev/v1/rerank', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      model: 'jina-reranker-v2-base-multilingual',
      query: '什么是机器学习？',
      documents: [
        '机器学习是人工智能的一个分支',
        '今天天气很好',
        '深度学习使用神经网络进行特征学习'
      ]
    })
  });

  console.log(await response.json());
  ```

  ```go Go theme={"system"}
  package main

  import (
      "bytes"
      "encoding/json"
      "fmt"
      "io"
      "net/http"
  )

  func main() {
      payload := map[string]interface{}{
          "model": "jina-reranker-v2-base-multilingual",
          "query": "什么是机器学习？",
          "documents": []string{
              "机器学习是人工智能的一个分支",
              "今天天气很好",
              "深度学习使用神经网络进行特征学习",
          },
      }

      body, _ := json.Marshal(payload)
      req, _ := http.NewRequest("POST", "https://www.qingbo.dev/v1/rerank", bytes.NewBuffer(body))
      req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
      req.Header.Set("Content-Type", "application/json")

      resp, _ := http.DefaultClient.Do(req)
      defer resp.Body.Close()
      result, _ := io.ReadAll(resp.Body)
      fmt.Println(string(result))
  }
  ```

  ```java Java theme={"system"}
  import java.net.http.*;
  import java.net.URI;

  public class Main {
      public static void main(String[] args) throws Exception {
          String payload = """
          {
            "model": "jina-reranker-v2-base-multilingual",
            "query": "什么是机器学习？",
            "documents": [
              "机器学习是人工智能的一个分支",
              "今天天气很好",
              "深度学习使用神经网络进行特征学习"
            ]
          }
          """;

          HttpClient client = HttpClient.newHttpClient();
          HttpRequest request = HttpRequest.newBuilder()
              .uri(URI.create("https://www.qingbo.dev/v1/rerank"))
              .header("Authorization", "Bearer YOUR_API_KEY")
              .header("Content-Type", "application/json")
              .POST(HttpRequest.BodyPublishers.ofString(payload))
              .build();

          HttpResponse<String> response = client.send(request,
              HttpResponse.BodyHandlers.ofString());
          System.out.println(response.body());
      }
  }
  ```
</RequestExample>

## 请求参数

<ParamField body="model" type="string" required>
  重排序模型 ID，如 `jina-reranker-v2-base-multilingual`
</ParamField>

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

<ParamField body="documents" type="string[]" required>
  候选文档数组
</ParamField>

<ParamField body="top_n" type="integer">
  返回前 N 个最相关的文档
</ParamField>
