重排序 Rerank


Jina AI 重排序格式(Rerank)

官方文档

标准格式 在New API中,Jina AI的rerank格式被采用为标准格式。所有其他供应商(如Xinference、Cohere等)的rerank响应都会被格式化为Jina AI的格式,以提供统一的开发体验。

📝 简介

Jina AI Rerank 是一个强大的文本重排序模型,可以根据查询对文档列表进行相关性排序。该模型支持多语言,可以处理不同语言的文本内容,并为每个文档分配相关性分数。

💡 请求示例

基础重排序请求 ✅

curl https://$Burncloud_API_BaseUrl/v1/rerank \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $Burncloud_API_KEY" \
  -d '{
    "model": "jina-reranker-v2-base-multilingual",
    "query": "Organic skincare products for sensitive skin",
    "top_n": 3,
    "documents": [
      "Organic skincare for sensitive skin with aloe vera and chamomile...",
      "New makeup trends focus on bold colors and innovative techniques...",
      "Bio-Hautpflege für empfindliche Haut mit Aloe Vera und Kamille..."
    ]
  }'

响应示例:

{
  "results": [
    {
      "document": {
        "text": "Organic skincare for sensitive skin with aloe vera and chamomile..."
      },
      "index": 0,
      "relevance_score": 0.8783142566680908
    },
    {
      "document": {
        "text": "Bio-Hautpflege für empfindliche Haut mit Aloe Vera und Kamille..."
      },
      "index": 2,
      "relevance_score": 0.7624675869941711
    }
  ],
  "usage": {
    "prompt_tokens": 815,
    "completion_tokens": 0,
    "total_tokens": 815
  }
}

📮 请求

端点

POST /v1/rerank

鉴权方法

在请求头中包含以下内容进行 API 密钥认证:

Authorization: Bearer $Burncloud_API_KEY

其中 $Burncloud_API_KEY 是您的 API 密钥。

请求体参数

model

query

top_n

documents

📥 响应

成功响应

results

usage

错误响应

当请求出现问题时,API 将返回错误响应:

💡 最佳实践

查询优化建议

  1. 使用清晰具体的查询文本
  2. 避免过于宽泛或模糊的查询
  3. 确保查询与文档使用相同的语言风格

文档处理建议

  1. 保持文档长度适中,不要超过模型限制
  2. 确保文档内容完整且有意义
  3. 可以包含多语言文档,模型支持跨语言匹配

性能优化

  1. 合理设置 top_n 参数以减少不必要的计算
  2. 对于大量文档,考虑分批处理
  3. 可以缓存常用查询的结果

多语言支持

该模型支持多种语言的文档重排序,包括但不限于:

无需指定语言参数,模型会自动识别和处理不同语言的内容。

Cohere 重排序格式(Rerank)

重要提示 cohere 的 Rerank 模型接口和 Jina的Rerank模型接口格式 是一样的。

官方文档

📝 简介

给定查询和文本列表,重排序API将根据与查询的相关性对文本进行排序。每个文本都会被分配一个相关性分数,从而产生一个有序的数组结果。此功能特别适用于搜索和检索应用,可以优化文档的排序,帮助用户更快找到相关信息。

💡 请求示例

基础重排序请求 ✅

curl https://$Burncloud_API_BaseUrl/v1/rerank \
  -H "Authorization: Bearer $Burncloud_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "rerank-v3.5",
    "query": "什么是美国的首都?",
    "documents": [
      "内华达州的首府是卡森城。",
      "北马里亚纳群岛是太平洋上的一组岛屿,其首都是塞班岛。",
      "华盛顿特区(也称为华盛顿或特区,正式名称为哥伦比亚特区)是美国的首都。",
      "英语语法中的大写是在单词开头使用大写字母。英语用法与其他语言的大写不同。",
      "自美国成为一个国家之前,美国就存在死刑。截至2017年,在50个州中有30个州死刑合法。"
    ],
    "top_n": 3
  }'

响应示例:

{
  "results": [
    {
      "index": 2,
      "relevance_score": 0.999071
    },
    {
      "index": 0,
      "relevance_score": 0.32713068
    },
    {
      "index": 1,
      "relevance_score": 0.1867867
    }
  ],
  "id": "07734bd2-2473-4f07-94e1-0d9f0e6843cf",
  "meta": {
    "api_version": {
      "version": "2",
      "is_experimental": false
    },
    "billed_units": {
      "search_units": 1
    }
  }
}

使用结构化数据 ✅

curl https://$Burncloud_API_BaseUrl/v1/rerank \
  -H "Authorization: Bearer $Burncloud_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "rerank-v3.5",
    "query": "寻找适合初学者的高性价比单反相机",
    "documents": [
      "型号: Canon EOS 800D\n价格: 4299元\n功能: 2410万像素, 光学取景器, Wi-Fi\n适合人群: 初学者, 爱好者",
      "型号: Nikon D3500\n价格: 3099元\n功能: 2416万像素, 光学取景器, 长达1550张的电池续航\n适合人群: 新手, 学生",
      "型号: Sony A7III\n价格: 12999元\n功能: 2420万像素, 全画幅, 4K视频\n适合人群: 专业摄影师, 视频创作者"
    ],
    "max_tokens_per_doc": 512
  }'

响应示例:

{
  "results": [
    {
      "index": 1,
      "relevance_score": 0.918472
    },
    {
      "index": 0,
      "relevance_score": 0.854321
    },
    {
      "index": 2,
      "relevance_score": 0.423156
    }
  ],
  "id": "8f734bd2-2473-4f07-94e1-0d9f0e68ebfa",
  "meta": {
    "api_version": {
      "version": "2"
    },
    "billed_units": {
      "search_units": 1
    }
  }
}

📮 请求

端点

POST /v1/rerank

根据与查询的相关性对文本列表进行重新排序。

鉴权方法

在请求头中包含以下内容进行 API 密钥认证:

Authorization: Bearer $Burncloud_API_KEY

其中 $Burncloud_API_KEY 是您的 API 密钥。

请求头参数

X-Client-Name

请求体参数

model

query

documents

top_n

max_tokens_per_doc

📥 响应

成功响应

返回一个包含排序后文档列表的对象。

results

id

meta

warnings

错误响应

当请求出现问题时,API可能返回以下HTTP状态码及相应错误:

🌟 最佳实践

文档准备建议

  1. 文档长度:每个文档保持简洁明了,避免过长。长文档会被自动截断。

  2. 结构化数据:将结构化数据格式化为YAML字符串,以获得最佳性能。例如:

    title: 产品名称
    price: 9999元
    features:
      - 特性1
      - 特性2
    
  3. 文档数量:单次请求中不要超过1,000个文档,以获得最佳性能。

查询优化

  1. 明确具体:制定明确、具体的查询,以获得更准确的排序结果。

  2. 避免模糊查询:尽量避免过于模糊或通用的查询词,这可能导致相关性分数差异不明显。

理解相关性分数

相关性分数是归一化到[0, 1]范围内的值:

注意:不能简单地认为分数0.9的文档比分数0.45的文档相关性高2倍。相关性分数是一个相对指标,用于排序,而非绝对比较。

Xinference 重排序格式(Rerank)

重要提示 在New API中,Xinference的rerank响应结构将被格式化为Jina的rerank响应结构,使用方式和Jina的rerank相同。对于Dify等客户端用户:在配置时请选择 Jina AI 作为供应商类型,而不是Xinference,并使用Xinference支持的模型名称。

📝 简介

Xinference的重排序API与Jina AI的重排序API完全兼容。请参考Jina AI 重排序格式(Rerank)文档了解详细的使用方法、请求参数和响应格式。

💡 使用方法

使用Xinference重排序API时,只需将model参数设置为Xinference支持的重排序模型即可,其余参数和使用方式与Jina AI重排序API相同。

示例请求

curl https://$Burncloud_API_BaseUrl/v1/rerank \
  -H "Authorization: Bearer $Burncloud_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jina-reranker-v2",
    "query": "什么是美国的首都?",
    "documents": [
      "内华达州的首府是卡森城。",
      "北马里亚纳群岛是太平洋上的一组岛屿,其首都是塞班岛。",
      "华盛顿特区(也称为华盛顿或特区,正式名称为哥伦比亚特区)是美国的首都。",
      "英语语法中的大写是在单词开头使用大写字母。英语用法与其他语言的大写不同。",
      "自美国成为一个国家之前,美国就存在死刑。截至2017年,在50个州中有30个州死刑合法。"
    ],
    "top_n": 3
  }'

有关更多详细信息,请参考Jina AI 重排序格式(Rerank)文档。