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

# Rerank

> POST /v1/rerank —— 文档重排接口

对一组候选文档基于查询进行相关性重排,常用于 RAG 召回后的精排。
完全兼容 Cohere / Jina Rerank 协议。

## 请求

```bash theme={null}
curl https://openp.ai/v1/rerank \
  -H "Authorization: Bearer $OPENPAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "rerank-multilingual-v3.0",
    "query": "什么是向量数据库?",
    "documents": [
      "向量数据库存储高维向量,用于相似度检索。",
      "Postgres 是关系型数据库。",
      "FAISS / Milvus 是常见向量索引方案。"
    ],
    "top_n": 2,
    "return_documents": true
  }'
```

### 参数

| 字段                   | 类型      |  必填 | 说明                                 |
| -------------------- | ------- | :-: | ---------------------------------- |
| `model`              | string  |  ✅  | rerank 模型 ID                       |
| `query`              | string  |  ✅  | 查询语句                               |
| `documents`          | array   |  ✅  | 文档数组,可为字符串或 `{ text }` 对象          |
| `top_n`              | integer |     | 返回前 N 个,默认全部                       |
| `return_documents`   | boolean |     | 响应中是否带回原文(默认 false 只返回 index + 分数) |
| `max_chunks_per_doc` | integer |     | Cohere v3,超长文档切片                   |

### 推荐模型

| 模型 ID                                | 厂商     | 上下文  |
| ------------------------------------ | ------ | ---- |
| `rerank-multilingual-v3.0`           | Cohere | 4096 |
| `rerank-english-v3.0`                | Cohere | 4096 |
| `jina-reranker-v2-base-multilingual` | Jina   | 1024 |
| `bge-reranker-v2-m3`                 | BAAI   | 8192 |
| `bge-reranker-large`                 | BAAI   | 512  |

## 响应

```json theme={null}
{
  "id": "rerank-...",
  "results": [
    {
      "index": 0,
      "relevance_score": 0.98,
      "document": {"text": "向量数据库存储高维向量,用于相似度检索。"}
    },
    {
      "index": 2,
      "relevance_score": 0.83,
      "document": {"text": "FAISS / Milvus 是常见向量索引方案。"}
    }
  ],
  "meta": {
    "api_version": "1",
    "billed_units": {"search_units": 1}
  }
}
```

`results` 已按 `relevance_score` 降序排列,`index` 指向原 `documents` 数组下标。

## Python(直接 HTTP)

```python theme={null}
import requests

resp = requests.post(
    "https://openp.ai/v1/rerank",
    headers={"Authorization": "Bearer sk-..."},
    json={
        "model": "bge-reranker-v2-m3",
        "query": "什么是向量数据库?",
        "documents": ["...", "...", "..."],
        "top_n": 5,
    },
).json()
print(resp["results"])
```

## Cohere SDK

```python theme={null}
import cohere
client = cohere.Client(api_key="sk-...", base_url="https://openp.ai/v1")

resp = client.rerank(
    model="rerank-multilingual-v3.0",
    query="...",
    documents=["...", "..."],
    top_n=3,
)
```

## 计费

按 `query + 所有 documents` 的 token 总和计费,具体倍率以模型为准。
