Xinference 重排序格式
POST v1/rerank重要提示: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相同。
请求参数
Authorization
在 Header 添加参数 Authorization,其值为在 Bearer 之后拼接 Token。
Authorization: Bearer ******************Body 参数
Content-Type: application/json
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 必需 | 指定要使用的模型 ID。 |
| query | string | 必需 | 用户输入的查询文本或搜索关键词。 |
| documents | array[string] | 必需 | 用于匹配或分析的文档字符串列表。 |
| top_n | integer | 必需 | 指定返回结果的数量(通常用于检索场景,如“返回最相关的前 N 个文档”)。 |
请求示例 (JSON)
{
"model": "jina-reranker-m0",
"query": "什么是美国的首都?",
"documents": [
"内华达州的首府是卡森城。",
"北马里亚纳群岛是太平洋上的一组岛屿,其首都是塞班岛。",
"华盛顿特区(也称为华盛顿或特区,正式名称为哥伦比亚特区)是美国的首都。",
"英语语法中的大写是在单词开头使用大写字母。英语用法与其他语言的大写不同。",
"自美国成为一个国家之前,美国就存在死刑。截至2017年,在50个州中有30个州死刑合法。"
],
"top_n": 3
}返回响应
200 成功
Content-Type: application/json
响应参数
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | string | 必需 | 请求唯一标识符。用于定位和追踪本次 API 调用的 ID。 |
| object | string | 必需 | 对象类型。对于聊天补全接口,该值固定为 "chat.completion"。 |
| created | integer | 必需 | 创建时间戳。生成本次响应的 Unix 时间戳(秒级)。 |
| model | string | 必需 | 实际使用的模型。生成此响应的具体模型名称及版本(例如 gpt-4o-2024-05-13)。 |
| choices | array [object] | 必需 | 回复选项数组。包含模型生成的回复内容列表(默认长度为1)。 |
| ├─ index | integer | 可选 | 当前选项在数组中的索引位置。 |
| ├─ message | object | 可选 | 生成的消息对象,包含以下核心字段: |
| ├─ role | string | 必需 | 角色身份,通常固定为 "assistant"。 |
| ├─ content | null/string | 必需 | 模型生成的文本内容。若模型进行了工具调用或纯音频输出,此处可能为 null。 |
| ├─ refusal | null/string | 必需 | 如果模型拒绝回答某些敏感或不合规的内容,拒绝的理由会在此字段显示。 |
| ├─ audio | object | 必需 | 音频输出对象。当请求了音频模态时,这里会包含生成的音频数据及相关参数。 |
| └─ annotations | array[string] | 必需 | 针对回复内容的附加注释或引用信息。 |
| ├─ logprobs | null | 可选 | 输出 token 的对数概率信息(需在请求中开启 logprobs: true)。 |
| └─ finish_reason | string | 可选 | 停止原因。模型停止生成的原因,常见值有: • stop:自然结束或遇到停止词 • length:达到最大 token 限制 • tool_calls:模型发起了工具/函数调用。 |
| usage | object | 必需 | Token 用量统计,包含以下明细: |
| ├─ prompt_tokens | integer | 必需 | 输入提示词(Prompt)消耗的 Token 数量。 |
| ├─ completion_tokens | integer | 必需 | 模型生成的回复(Completion)消耗的 Token 数量。 |
| ├─ total_tokens | integer | 必需 | 本次请求消耗的总 Token 数(输入 + 输出)。 |
响应示例
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1677652288,
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "\n\nHello there, how may I assist you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 12,
"total_tokens": 21
}
}示例代码
python
import http.client
import json
conn = http.client.HTTPSConnection("nxaiapp.com")
payload = json.dumps({
"model": "jina-reranker-m0",
"query": "什么是美国的首都?",
"documents": [
"内华达州的首府是卡森城。",
"北马里亚纳群岛是太平洋上的一组岛屿,其首都是塞班岛。",
"华盛顿特区(也称为华盛顿或特区,正式名称为哥伦比亚特区)是美国的首都。",
"英语语法中的大写是在单词开头使用大写字母。英语用法与其他语言的大写不同。",
"自美国成为一个国家之前,美国就存在死刑。截至2017年,在50个州中有30个州死刑合法。"
],
"top_n": 3
})
headers = {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
}
conn.request("POST", "/v1/rerank", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))