阅读助手插件
更新时间:2025-01-14
阅读助手插件介绍
该插件主要进行文档分析、网页解析,支持长传文档、网页,对其内容做摘要、分析、整理等任务。常见场景有论文综述、问题分析、论文精读、数据整理、会议纪要整理、文档总结、网页新闻精度等。文档限制如下:
- 文档数量:100篇。支持传入多篇文档
- 文档类型:DOC、PDF(含影印件)、Excel、PPT、TXT
- 文档总字数:200万字
- 单个文档大小:200M
接口描述
基于对话Chat V2接口,增加插件相关能力;调用本文接口,可以使用阅读助手插件。
支持插件列表
插件名称 | Plugins参数值 |
---|---|
阅读助手Plus | ChatFilePlus |
鉴权说明
- 调用本文API,需使用API Key鉴权方式。使用API Key鉴权调用API流程,具体调用流程,请查看认证鉴权。
请求结构
POST /v2/chat/completions HTTP/1.1
Host: qianfan.baidubce.com
Authorization: authorization string
{
"model": "ernie-3.5-8k",
"stream_options":{
"include_usage":true
},
"messages": [{
"role": "user",
"content": "{query}<file>{文件名称.后缀}</file><url>{文件链接}</url>"
}],
"plugins": [
"ChatFilePlus"
],
"stream": false
}
请求头域
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | string | 是 | 固定值application/json |
Authorization | string | 是 | 用于验证请求合法性的认证信息,说明: (1)该字段值,需通过字符串 Bearer 和 API Key 或 BearerToken 值拼接组成,示例值如Bearer bce-v3/ALTAK-*********/614fb********** (2)【推荐】API Key值使用说明: · 通过在控制台-系统管理与统计-API Key管理页面,创建并获取API Key · API Key值永久有效 (3)BearerToken使用说明: · 通过调用创建BearerToken接口获取,示例值如 bce-v3/ALTAK-*********/614fb********** · BearerToken值有效期最小为5分钟,最长有效期为30天;如果设置超过该值,有效期最大值仍为30天,即在调用创建BearerToken接口时,最大设置expireInSeconds=25920000;如果不设置有效期,默认为30分钟,即expireInSeconds=1800 |
appid | string | 否 | V2版本接口对应的应用ID,说明: (1)可以通过控制台-模型服务-应用接入页面,在应用列表查看应用ID,如下图所示: (2)如果无应用,需要先创建V2版本服务对应的应用,在控制台-模型服务-应用接入页面创建应用。 |
X-Request-Id | string | 否 | 用户入参X-Request-Id,则返回的X-Request-Id头是用户的入参值 |
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
model | string | 是 | 模型ID,当前支持模型如下: · ernie-3.5-8k |
messages | List<message> | 是 | 在message的content中传入文件。说明: (1)传入文档需要有固定格式: · 单文档:<file>文件名称</file><url>文件url地址</url> · 多文档:['<file>测试1.docx</file><url>文件url地址1</url>', '<file>测试2.pdf</file><url>文件url地址2</url>'] (2)文件url地址有两个要求: a. 可以被下载到,可以通过 wget 命令本地测试,即wget 文件url地址 b. 文件支持doc、docx和pdf格式,文件必须带后缀名 |
plugins | List<string> | 否 | 需要调用的插件,当前支持如下: · ChatFilePlus |
plugin_options | plugin_options | 否 | 插件选项 |
stream | bool | 否 | 插件是否以流式接口的形式返回数据 |
stream_options | stream_options | 否 | 流式响应的选项,当字段stream为true时,该字段生效 |
- stream_options说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
include_usage | bool | 否 | 流式响应是否输出usage,说明: · true:是,设置为true时,在最后一个chunk会输出一个字段,这个chunk上的usage字段显示整个请求的token统计信息 · false:否,流式响应默认不输出usage |
响应头域
部分如下。
名称 | 描述 |
---|---|
X-Ratelimit-Limit-Requests | 一分钟内允许的最大请求次数 |
X-Ratelimit-Limit-Tokens | 一分钟内允许的最大tokens消耗,包含输入tokens和输出tokens |
X-Ratelimit-Remaining-Requests | 达到RPM速率限制前,剩余可发送的请求数配额,如果配额用完,将会在0-60s后刷新 |
X-Ratelimit-Remaining-Tokens | 达到TPM速率限制前,剩余可消耗的tokens数配额,如果配额用完,将会在0-60s后刷新 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
id | string | 本次请求的唯一标识,可用于排查问题 |
object | string | 回包类型 chat.completion:多轮对话返回 |
created | int | 时间戳 |
model | string | 说明: (1)如果是预置服务,返回模型ID (2)如果是sft后部署的服务,该字段返回model:modelversionID,model与请求参数相同,是本次请求使用的大模型ID;modelversionID用于溯源 |
choices | choices | stream=false时,返回内容 |
choices | sse_choices | stream=true时,返回内容 |
usage | usage | token统计信息,说明: (1)同步请求默认返回 (2)流式请求默认不返回,当开启stream_options.include_usage=true时,会在最后一个chunk返回实际内容,其他chunk返回null |
- choices说明
名称 | 类型 | 描述 |
---|---|---|
plugin_info | object[] | 透传的插件的信息状态 |
plugin_metas | object[] | 透传的插件元信息 |
- sse_choices说明
名称 | 类型 | 描述 |
---|---|---|
plugin_info | object[] | 透传的插件的信息状态 |
plugin_metas | object[] | 透传的插件元信息 |
- usage说明
名称 | 类型 | 描述 |
---|---|---|
prompt_tokens | int | 问题tokens数(包含历史QA) |
prompt_tokens_details | int | 问题token详情 |
completion_tokens | int | 回答tokens数 |
total_tokens | int | 总tokens数 |
- prompt_tokens_details
名称 | 类型 | 描述 |
---|---|---|
plugin_tokens | map[string]int | 触发插件以后膨胀的token,key为插件名称,value为token数 |
请求示例
curl --location 'https://qianfan.baidubce.com/v2/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer bce-v3/ALTAK-*********/614fb**********' \
--data '{
"model": "ernie-3.5-8k",
"stream_options":{
"include_usage":true
},
"messages": [{
"role": "user",
"content": "20个字介绍公司<file>运舟资本公司介绍202405.pdf</file><url>https://xxxx</url>"
}],
"plugins": [
"ChatFilePlus"
],
"stream": false
}'
import requests
import json
def main():
url = "https://qianfan.baidubce.com/v2/chat/completions"
payload = json.dumps({
"model": "ernie-3.5-8k",
"stream_options":{
"include_usage":true
},
"messages": [{
"role": "user",
"content": "20个字介绍公司<file>运舟资本公司介绍202405.pdf</file><url>https://xxxx</url>"
}],
"plugins": [
"ChatFilePlus"
],
"stream": false
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer bce-v3/ALTAK-*********/614fb**********'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
if __name__ == '__main__':
main()
响应示例
{
"id": "as-g6xxxx5j",
"object": "chat.completion",
"created": 1736430864,
"model": "ernie-3.5-8k",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "运舟资本,主动管理型私募基金公司。"
},
"finish_reason": "normal",
"flag": 0,
"plugin_info": [
{
"plugin_id": "5284:2.0.2",
"plugin_name": "",
"plugin_req": "{\"response_format\":{\"type\":\"text\"}}",
"plugin_resp": "",
"status": "1",
"api_id": "ChatFilePlus.compose",
"action_info": null
},
{
"plugin_id": "5284:2.0.2",
"plugin_name": "",
"plugin_req": "{\"response_format\":{\"type\":\"text\"}}",
"plugin_resp": "{\"errCode\":9,\"errMsg\":\"OK\",\"status\":\"文档创作中\",\"text\":\"\",\"actionName\":\"开始阅读\",\"actionContent\":\"开始阅读文档内容\",\"usage\":null,\"index\":null,\"bz_res\":null,\"originalRes\":\"\",\"data_type\":\"\",\"content\":null}",
"status": "1",
"api_id": "ChatFilePlus.compose",
"action_info": {
"action_name": "开始阅读",
"action_content": "开始阅读文档内容"
}
},
{
"plugin_id": "5284:2.0.2",
"plugin_name": "",
"plugin_req": "{\"response_format\":{\"type\":\"text\"}}",
"plugin_resp": "{\"errCode\":9,\"errMsg\":\"OK\",\"status\":\"文档创作中\",\"text\":\"\",\"actionName\":\"开始阅读\",\"actionContent\":\"开始阅读文档内容\",\"usage\":null,\"index\":null,\"bz_res\":null,\"originalRes\":\"\",\"data_type\":\"\",\"content\":null}\n{\"errCode\":12,\"errMsg\":\"success\",\"status\":\"BuildIndexDone\",\"text\":\"\",\"actionName\":\"开始生成\",\"actionContent\":\"阅读完成,准备生成内容\",\"usage\":null,\"index\":null,\"bz_res\":null,\"originalRes\":\"\",\"data_type\":\"\",\"content\":null}",
"status": "1",
"api_id": "ChatFilePlus.compose",
"action_info": {
"action_name": "开始生成",
"action_content": "阅读完成,准备生成内容"
}
},
{
"plugin_id": "5284:2.0.2",
"plugin_name": "",
"plugin_req": "{\"response_format\":{\"type\":\"text\"}}",
"plugin_resp": "{\"errCode\":9,\"errMsg\":\"OK\",\"status\":\"文档创作中\",\"text\":\"\",\"actionName\":\"开始阅读\",\"actionContent\":\"开始阅读文档内容\",\"usage\":null,\"index\":null,\"bz_res\":null,\"originalRes\":\"\",\"data_type\":\"\",\"content\":null}\n{\"errCode\":12,\"errMsg\":\"success\",\"status\":\"BuildIndexDone\",\"text\":\"\",\"actionName\":\"开始生成\",\"actionContent\":\"阅读完成,准备生成内容\",\"usage\":null,\"index\":null,\"bz_res\":null,\"originalRes\":\"\",\"data_type\":\"\",\"content\":null}\n{\"errCode\":10,\"errMsg\":\"OK\",\"status\":\"文档创作完成\",\"text\":\"\",\"actionName\":\"生成内容\",\"actionContent\":\"生成完成\",\"usage\":{\"abstract_tokens\":0,\"create_tokens\":3884,\"parse_tokens\":0,\"search_tokens\":0,\"tools\":{\"call_count\":1,\"prompt_tokens\":3874,\"completion_tokens\":10,\"total_tokens\":3884},\"total_tokens\":3690},\"index\":null,\"bz_res\":null,\"originalRes\":\"\",\"data_type\":\"\",\"content\":null}",
"status": "1",
"api_id": "ChatFilePlus.compose",
"action_info": {
"action_name": "生成内容",
"action_content": "生成完成"
}
},
{
"plugin_id": "5284:2.0.2",
"plugin_name": "",
"plugin_req": "{\"response_format\":{\"type\":\"text\"}}",
"plugin_resp": "{\"errCode\":9,\"errMsg\":\"OK\",\"status\":\"文档创作中\",\"text\":\"\",\"actionName\":\"开始阅读\",\"actionContent\":\"开始阅读文档内容\",\"usage\":null,\"index\":null,\"bz_res\":null,\"originalRes\":\"\",\"data_type\":\"\",\"content\":null}\n{\"errCode\":12,\"errMsg\":\"success\",\"status\":\"BuildIndexDone\",\"text\":\"\",\"actionName\":\"开始生成\",\"actionContent\":\"阅读完成,准备生成内容\",\"usage\":null,\"index\":null,\"bz_res\":null,\"originalRes\":\"\",\"data_type\":\"\",\"content\":null}\n{\"errCode\":10,\"errMsg\":\"OK\",\"status\":\"文档创作完成\",\"text\":\"\",\"actionName\":\"生成内容\",\"actionContent\":\"生成完成\",\"usage\":{\"abstract_tokens\":0,\"create_tokens\":3884,\"parse_tokens\":0,\"search_tokens\":0,\"tools\":{\"call_count\":1,\"prompt_tokens\":3874,\"completion_tokens\":10,\"total_tokens\":3884},\"total_tokens\":3690},\"index\":null,\"bz_res\":null,\"originalRes\":\"\",\"data_type\":\"\",\"content\":null}",
"status": "2",
"api_id": "ChatFilePlus.compose",
"action_info": null
}
],
"plugin_metas": [
{
"apiId": "ChatFilePlus.compose",
"logoUrl": "https://chatfile-icon.bj.bcebos.com/chatfile-icon.png",
"operationId": "compose",
"pluginId": "5284:2.0.2",
"pluginNameForHuman": "阅读助手Plus",
"pluginNameForModel": "ChatFilePlus",
"pluginVersion": "2.0.2",
"runtimeMetaInfo": {
"function_call": {
"arguments": "{}",
"name": "ChatFilePlus.compose"
},
"returnRawFieldName": "/text",
"return_raw_config": {
"output_field_path": "/text",
"type": "string"
},
"thoughts": null
},
"uiMeta": null
}
]
}
],
"usage": {
"prompt_tokens": 3731,
"completion_tokens": 10,
"total_tokens": 3741,
"prompt_tokens_details": {
"plugin_tokens": {
"ChatFilePlus": 3690
}
}
}
}