百度AI搜索
组件描述
百度AI搜索组件为百度领先的搜索能力结合大模型技术,提供结合全网实时信息进行智能回复的问答功能,可支撑各行业丰富的场景应用。支持丰富标准化能力,如:自定义人设、模型选择、问题改写(包括时效和多轮两种方式,以增强搜索效果)、搜索范围配置(可选择搜索的模态、站点范围和发布时间)、自定义参考链接条数等等,此外,该API拥有优秀的性能表现和高可用性,以及全面的内容安全审核,保证处于合规红线之上。
默认限流1qps,申请更多资源请提交表单,工作人员将主动联系您进行开通。计费方式详见计费说明。
V2与V1版本接口区别
能力 | V1 | V2 (beta) |
---|---|---|
搜索模式选择 | 强制搜索 | 支持:不搜索、强制搜索、智能判断 |
模型选择 | ModelBuilder已有模型。 即将支持DeepSeek系列。 | ModelBuilder已有模型,SFT模型,deepseek-r1, deepseek-v3。 |
模型配置 | 人设指令、temperature、top_p | 人设指令、temperature、top_p |
提示词模版 | 支持 | 支持 |
多轮对话 | 支持 | 支持 |
输入改写 | 支持 | 支持 |
指定站点搜索 | 支持 | 支持 |
深搜索 | 不支持 | 支持 |
最大搜索次数 | 支持配置 | 支持配置 |
多模态内容搜索 | 支持选择网页、图片、视频 | 支持 |
参考内容发布时间 | 支持选择时间范围 | 支持选择时间范围 |
参考内容排序 | 支持自定义排序 | 支持 |
参考内容来源过滤 | 不支持 | 支持 |
参考内容数量 | 支持设置数量 | 支持 |
深度思考 | 不支持 | 支持与DeepSeek-R1搭配使用 |
参考脚标 | 支持配置是否显示 | 支持配置是否显示 |
内容安全 | 支持 | 支持 |
回复干预 | 支持 | 支持 |
流式输出 | 支持配置 | 支持配置 |
推荐追问生成 | 不支持 | 支持 |
图文混排 | 不支持 | 支持 |
V2(beta)版接口文档
接口描述
根据用户问题搜索全网实时信息,并使用大模型进行智能总结回答,支持选择DeepSeek系列模型。
接口定义
URL | /v2/ai_search/chat/completions |
---|---|
Method | POST |
Content-Type | application/json |
Authorization | 请求签名(Bearer <AppBuilder API Key>) |
请求结构
POST /v2/ai_search/chat/completions HTTP/1.1
HOST: qianfan.baidubce.com
Authorization: Bearer <AppBuilder API Key>
Content-Type: application/json
{
"messages": [
{
"content": "近日油价调整消息。",
"role": "user"
}
],
"stream": false,
"model": "ERNIE-3.5-8K",
"instruction": "##",
"enable_corner_markers": true,
"enable_deep_search": true
}
请求参数
header参数
除公共头域外,无其它特殊头域。
body参数
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
messages | string | 是 | 对话历史 array的长度需要是奇数, role必须是user-assistant-user交替,以user开始以user结束 例子: [ {"role": "user", "content":"你觉得xx的发布会上把xx的100pro手机的芯片搞错了需要道歉吗"}, {"role": "assistant", "content": "是的,如果xx在发布会上错误地标注了xx100 Pro的芯片信息,那么向xx和用户道歉是合适的。这种错误可能会对xx品牌和用户造成困扰和误解,因此公开道歉并纠正错误是一个负责任的行为。同时,这也展示了xx对于准确性和专业性的重视,有助于维护品牌形象和信誉。"}, {"role": "user", "content": "今天xx有道歉吗"} ] |
stream | bool | 否 | 是否为流式请求。 值含义: true:使用HTTP SSE流式响应 false:以非流式结果返回 默认值为false; |
model | string | 是 | 使用的模型名。 目前支持模型选项如下: 1. ernie-3.5-8k等从千帆ModelBuilder官网开通的模型,可选模型列表 2. ernie-4.0-turbo-8k(图文混排场景推荐使用,其它模型不保证效果) 3. ernie-4.0-turbo-128k(图文混排场景推荐使用,其它模型不保证效果) 4. deepseek-r1 5. deepseek-v3 6. pro-deepseek-r1 7. pro-deepseek-v3 pro-deepseek-r1与 pro-deepseek-v3需提交表单 申请 |
instruction | string | 否 | 人设指令,用于限制输出风格等。 默认值:"" 注意:字符长度需要小于等于2000 |
temperature | float | 否 | 模型采样参数。较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定。 值范围:(0, 1] 默认值:1e-10 注意:该值越大,模型输出越多样,也越不稳定 |
top_p | float | 否 | 模型采样参数。 影响输出文本的多样性,取值越大,生成文本的多样性越强。 值范围:(0, 1] 默认值:1e-10 注意:该值越大,模型输出越多样,也越不稳定 |
enable_corner_markers | bool | 否 | 是否返回角标,用于标记模型输出内容的参考来源。 值含义: true:开启角标 false:隐藏角标 默认值:true |
search_mode | string | 否 | 控制是否开启联网搜索。默认为 auto。 可选值: auto:自动判断是否需要搜索 required: 必须执行搜索 disabled: 禁用搜索功能 |
search_recency_filter | string | 否 | 网页时效性范围限制。 枚举值: week:7天 month:30天 semiyear:180天 year:365天 |
search_domain_filter | list<string> | 否 | 站点过滤,只返回列表中站点的网页 比如: ["baidu.com"] |
enable_followup_queries | boolean | 否 | 是否开启追问。针对用户问题和大模型回答结果,大模型给出推荐的追问。 默认为false 可选值:true: 开启追问 false:不开启追问 |
response_format | string | 否 | 输出内容样式。默认值 auto。可选值: auto:模型自动判断是纯文本输出还是图文混排输出。 text:文本输出。 rich_text: 图文混排输出。如:在美食和旅游两个场景下,输出文本中嵌入markdown语法的图片内容。 比如: ...北京美食包括北京烤鸭等。 选择rich_text时推荐使用ernie-4.0-turbo-128k、ernie-4.0-turbo-8k模型 |
enable_reasoning | boolean | 否 | 是否开启深度思考,仅对DeepSeek-R1模型生效,开启后,输出答案前会输出思考内容。 默认值:默认值:true 可选值: true:开启 false:不开启 |
enable_deep_search | boolean | 否 | 是否开启深搜索。 默认值:false 可选值: true:开启,每种搜索类型最多返回100个搜索结果。 false:不开启,每种搜索类型最多返回10个搜索结果。 |
resource_type_filter | array |
否 | 单次搜索最大返回数量。 默认为返回网页top 10。 搜索结果,{"type": "web","top_k": 10}],每种搜索类型支持返回的数量范围为:1~10 示例: [{"type": "image","top_k": 4}, {"type": "video","top_k": 4}, {"type": "web","top_k": 4}] |
prompt_template | string | 否 | 面向高阶用户开放自定义prompt模版,普通用户不需要设置,支持添加的变量包括: query:经过改写等处理后的query original_query:用户原始query history:对话历史 context_out:搜索结果(如果传入个性化知识,则是个性化知识 + 搜索结果) instruction:人设 time:当前时间 其中变量query或original_query(至少一个)、context_out必须出现在override_prompt_template中,其他变量可选。 样例:"搜索结果: {{context_out}} 用户query: {{query}} "。 |
additional_knowledge | array |
否 | 调用方提供的定制化知识内容集合,与公开的联网搜索结果构成合集,注入到模型中进行问答总结。知识注入的条数和长度, 与模型有关,限制最大10条。 |
SearchResource对象
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
type | string | 是 | 搜索资源类型。 可选值: video: 视频 image: 图片 web:网页 |
top_k | int | 是 | 指定模态最大返回个数 |
Message对象
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
role | string | 是 | 角色设定,可选值包括user、assistant user:用户 assistant:模型 |
content | string | 是 | 对话内容,说明: (1)不能为空 (2)最后一个message对应的content不能为blank字符,如空格、"\n"、“\r”、“\f”等 |
Knowledge对象
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
priority | int | 否 | 搜索结果的优先级: 数字值越小,优先级越高。 取值范围【-20,20】 默认值为0; 举例: -20是优先级最高,如果与百度搜索结果优先级相同,优先使用定制化知识点,默认值为0 |
data_type | string | 否 | 数据类型 |
data | Data | 是 |
Knowledge.Data对象
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
content | string | 是 | 知识点内容 |
title | string | 否 | 知识点标题 |
url | string | 否 | 知识点url地址 |
release_date | string | 否 | 发布日期 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
requestId | string | 是 | 请求request_id |
code | string | 否 | 错误代码,当发生异常时返回 |
message | string | 否 | 错误代码,当发生异常时返回 |
choices | array |
是 | 模型生成的 completion 的选择列表 |
usage | Usage | 否 | token开销 |
is_safe | bool | 是 | query是否安全 |
references | array<Reference> | 否 | 模型回答参考引用内容 |
followup_queries | array<str> | 否 | 追问问题 |
Choice对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
finish_reason | string | 否 | 模型停止生成token的原因。 可选值: stop: 模型自然停止生成 length: 输出长度达到了模型上下文长度限制 |
index | int | 是 | 该completion在选择列表中的索引 |
message | Message | 否 | 非流式模型生成的completion消息 |
delta | Delta | 否 | 流式返回的completion增量 |
Choice.Message对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
content | string | 是 | completion内容 |
reasoning_content | string | 否 | 仅适用于 deepseek思考系列模型。 内容为 assistant 消息中在最终答案之前的推理内容 |
role | string | 是 | 固定值assistant |
Choice.Delta对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
content | string | 是 | completion内容 |
reasoning_content | string | 否 | 仅适用于 deepseek思考系列模型。 内容为 assistant 消息中在最终答案之前的推理内容 |
role | string | 是 | 固定值assistant |
Reference对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
icon | string | 否 | 站点图标 |
id | int | 是 | 引用编号1、2、3 |
title | string | 是 | 网页标题 |
url | string | 是 | 网页地址 |
web_anchor | string | 是 | 网站锚文本或网站标题 |
content | string | 否 | 网站内容,当前仅返回20字 |
date | string | 否 | 网页日期 |
type | string | 否 | 检索资源类型: web:网页 image:图像内容 video:视频内容 |
image | ImageDetail | 否 | 图片详情 |
video | VideoDetail | 否 | 视频详情 |
Reference.ImageDetail对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
url | string | 否 | 图片链接 |
height | string | 否 | 图片高度 |
width | string | 否 | 图片宽度 |
Reference.VideoDetail对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
url | string | 否 | 视频链接 |
height | string | 否 | 视频高度 |
width | string | 否 | 视频宽度 |
size | string | 否 | 视频大小,单位Bytes |
duration | string | 否 | 视频长度,单位秒 |
hover_pic | string | 否 | 视频封面图 |
Usage对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
prompt_tokens | int | 否 | prompt(输入)token数 |
completion_tokens | int | 否 | completion(输出)token数 |
total_tokens | int | 否 | 总token数 |
请求curl 示例
curl --location 'https://qianfan.baidubce.com/v2/ai_search/chat/completions' \
--header 'X-Appbuilder-Authorization: Bearer <AppBuilder API Key>' \
--header 'Content-Type: application/json' \
--data '{
"messages": [
{
"content": "如何解决交通拥堵问题",
"role": "user"
}
],
"stream": false,
"model": "ernie-3.5-8k",
"enable_deep_search": false,
"enable_followup_query": false,
"resource_type_filter": [{"type": "web", "top_k":1}]
}'
正确响应示例
{
"usage": {
"prompt_tokens": 773,
"completion_tokens": 599,
"total_tokens": 1372
},
"is_safe": true,
"request_id": "11111111-1111-1111-1111-111111111111",
"choices": [
{
"index": 0,
"message": {
"content": "### 解决交通拥堵问题的多方面策略\n\n交通拥堵是现代城市面临的一大挑战,它不仅影响人们的日常出行,还可能引发一系列社会问题。以下是从多个方面提出的解决交通拥堵问题的策略:\n\n#### 一、优化交通基础设施和道路设计\n\n- **增加停车位**:在学校、商业区等交通热点区域增加停车位,以减少车辆无序停放造成的交通拥堵。[ref_1][ref_2]\n- **优化道路设计**:通过合理的道路规划和设计,如拓宽道路、设置公交专用道等,提高道路通行能力。\n- **实施交通管制措施**:在特定时段和区域实施交通管制,如限行、禁行等,以缓解交通压力。\n\n#### 二、推广绿色出行\n\n- **鼓励步行和骑行**:通过建设人行天桥、地下通道、自行车道等设施,为步行和骑行提供便利。\n- **发展公共交通**:增加公交车、地铁等公共交通工具的数量和频次,提高公共交通的便捷性和舒适度,吸引更多人选择公共交通出行。[ref_1]\n\n#### 三、建立智慧交通系统\n\n- **实时交通信息共享**:利用现代信息技术建立智慧交通系统,实时共享交通信息,包括路况、拥堵情况等,引导车辆合理分流。[ref_1][ref_3]\n- **信号配时优化**:通过智能信号控制系统,根据实时交通流量调整信号灯配时,提高路口通行效率。\n\n#### 四、实施交通管制措施\n\n- **单向通行和限时通行**:在特定时段和区域实施单向通行、限时通行等措施,减少交通冲突和拥堵。[ref_4]\n- **交通疏导**:在交通高峰期,通过交警或交通志愿者的现场疏导,引导车辆有序通行。\n\n#### 五、调整学校布局\n\n- **合理规划学校位置**:在城市规划中合理调整学校的布局,避免学校集中在交通繁忙的区域,减少学校周边交通压力。[ref_1]\n\n#### 六、微改造和路口优化\n\n- **消除道路瓶颈**:通过微改造和路口优化,消除道路“肠梗阻”,如增加车道数、设置机非分离等,提升路口通行能力。[ref_3][ref_5]\n\n#### 七、加强停车管理\n\n- **严格停车执法**:取缔占道停车,建设临时停车场,规范停车秩序,缓解停车难问题。[ref_5]\n- **推广智能停车系统**:利用智能停车系统,实现停车位的实时查询和预约,提高停车效率。\n\n#### 八、借鉴国际和国内经验\n\n- **分析成功案例**:分析国际大都市和国内其他城市在解决交通拥堵方面的成功案例,借鉴其有效措施。[ref_1]\n- **结合本地实际**:在借鉴经验的基础上,结合本地实际情况,制定切实可行的解决方案。\n\n综上所述,解决交通拥堵问题需要从多个方面入手,通过综合施策、多管齐下,才能有效缓解交通拥堵问题,提升城市交通运行效率。",
"role": "assistant"
},
"finish_reason": "stop"
}
],
"references": [
{
"id": 1,
"icon": "https://gips2.baidu.com/it/u=1009531835,1711006677&fm=3028&app=3028&f=PNG&fmt=auto&q=90&size=f187_48",
"title": "如何解决交通拥堵问题",
"url": "https://answer.baidu.com/answer/land?params=9%2BIX4C88WSGy3lAHzCyTt8nBTUbnCK9kzdpSC6fm9Ppd46vYlS%2Bbs1eIayl4TEICfPK%2BxalOwYOasWfAjL7Kot0domPqbQcgAKY4yVsspZOiWAKvMfYErmps94hqEkWDsfco5B3lIG8zRbKajWKL99OsyK4Y6jNJU71GlHyGMWA0v3bEfSBIVWVdrj7k%2FYgx2Xtr44q2I7JC7EQWP3EHm1eBEq0ndH6WHMTpFHW7P3E%3D&from=dqa&lid=9381801668833088898&word=%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%E4%BA%A4%E9%80%9A%E6%8B%A5%E5%A0%B5%E9%97%AE%E9%A2%98",
"web_anchor": "如何解决交通拥堵问题",
"content": "==**解决交通拥堵问题可以从以下几个方...",
"date": null,
"type": "web",
"image": null,
"video": null
}
]
}
错误响应示例
{
"requestId": "00000000-0000-0000-0000-000000000000",
"code": 216003,
"message": "Authentication error: ( [Code: InvalidHTTPAuthHeader; Message: Fail to parse apikey authorization; RequestId: ea6ffeca-a136-401b-ba30-61c910c02ead] )"
}
V1版接口文档
接口描述
根据用户问题搜索全网实时信息,并使用大模型进行智能总结回答。
在线调试
百度智能云千帆提供了 API在线调试平台-示例代码 ,用于帮助开发者调试接口,平台集成快速检索、查看开发文档、查看在线调用的请求内容和返回结果、复制和下载示例代码等功能,简单易用。
接口定义
URL | https://appbuilder.baidu.com/rpc/2.0/cloud_hub/v1/ai_engine/copilot_engine/service/v1/baidu_search_rag/general |
---|---|
Method | POST |
注:本接口的服务端点与其他接口不一致,服务端点以本文档为准。
请求结构
POST /rpc/2.0/cloud_hub/v1/ai_engine/copilot_engine/service/v1/baidu_search_rag/general HTTP/1.1
HOST: appbuilder.baidu.com
X-Appbuilder-Authorization: Bearer <AppBuilder API Key>
Content-Type: application/json
{
"message": [
{
"role": "user",
"content": "今天热点新闻"
}
],
"instruction": "你是新闻小助手啊",
"stream": true,
"model": "ERNIE-3.5-8K"
}
请求头域
除公共头域外,无其它特殊头域,可前往通用说明查看
请求参数
字段 | 类型 | 是否必填 | 说明 |
---|---|---|---|
messages | array[message] | 否 | 对话历史。注意: * array的长度需要是奇数 * role必须是user-assistant-user交替,以user开始以user结束例子:[{"role": "user", "content":"你觉得xx的发布会上把xx的100pro手机的芯片搞错了需要道歉吗"},{"role": "assistant", "content": "是的,如果xx在发布会上错误地标注了xx100 Pro的芯片信息,那么向xx和用户道歉是合适的。这种错误可能会对xx品牌和用户造成困扰和误解,因此公开道歉并纠正错误是一个负责任的行为。同时,这也展示了xx对于准确性和专业性的重视,有助于维护品牌形象和信誉。"},{"role": "user", "content": "今天xx有道歉吗"}] |
message | array[message] | 否 | 作用同messages字段,message/messages不能同时为空,后续计划下掉此message字段。如果同时传递message/messages字段,优先使用messages字段 |
stream | bool | 否 | 是否为流式请求。值含义:true:使用HTTP SSE流式响应 false:以非流式结果返回默认值为false; |
model | string | 是 | 使用的模型名。注意:从千帆MB官网查看账户开通的模型,MB账号欠费会导致调用失败。例如: ERNIE-3.5-8KERNIE-4.0-8K |
instruction | string | 否 | 人设指令,用于限制输出风格等默认值:""注意:字符长度需要小于等于1400 |
temperature | float | 否 | 模型采样参数。较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定值范围:(0, 1]默认值:1e-10注意:该值越大,模型输出越多样,也越不稳定 |
top_p | float | 否 | 模型采样参数。影响输出文本的多样性,取值越大,生成文本的多样性越强值范围:(0, 1]默认值:1e-10注意:该值越大,模型输出越多样,也越不稳定 |
hide_corner_markers | bool | 否 | 是否隐藏引用角标,用于是否标记输出内容出处的链接。值含义:true:隐藏false:不隐藏默认值:false |
enable_timely_query_rewrite | bool | 否 | 是否开启时效性改写模块,用于常用口语时间(今天、今年等)转换为具体时间值含义:true:开启false:关闭默认值:false注意:该参数为true时,会多调用一次大模型,使用传入的model,会增大接口耗时,秒级触发时效性例子:今天、明天、今年、明年等 |
enable_historical_query_rewriting | bool | 否 | 是否基于历史对话对query进行改写,用于改写不明确主语的query,使大模型更明确用户query。值含义:true:改写false:不改写默认值:false |
enable_instruction_enhance | bool | 否 | 是否对人设指令(instruction)增强,用于增强人设指令遵从的效果,但是可能会造成指令泄露。值含义:true:增强false:不增强默认值:false |
search_resource_types | array[search_resource_type] | 否 | 多模态检索参数,每种模态最大检索个数不超过10例子:[{"count": 4, "type": "web"}, {"count": 4, "type": "image_content"}, {"count": 4, "type": "video"}] |
search_rearrange | bool | 否 | 默认为true,搜索结果按照网页top1、图像内容top1、视频内容top1、网页top2、图像内容top2、视频内容top2...进行排序,反之,顺序不固定 |
search_timeliness | string | 否 | 网页时效性范围限制,包含枚举值: week:7天month:30天 semiyear:180天year:365天 |
search_top_k | int | 否 | 默认为4,代表返回4个网页检索结果,最大不超过10个;如果同时传入search_resource_types参数时,以search_resource_types为准 |
search_site | string | 否 | 指定内容检索站点 比如: baidu.com |
customize_knowledge | array<knowledge> | 否 | 调用方提供的定制化知识内容集合,与公开的联网搜索结果构成合集,注入到模型中进行问答总结。知识注入的条数和长度, 与模型有关,限制最大10条 |
max_search_times | int | 否 | 默认为5,限制某一模态最大搜索次数,如果在最大搜索次数范围内未找到目标结果条数,则不再继续搜索,注意如果n个模态相应的最大搜索次数会自动扩为n*max_search_times |
override_system_template | string | 否 | 面向高阶用户开放自定义prompt模版,普通用户不需要设置,支持添加的变量包括: query:经过改写等处理后的queryoriginal_query:用户原始queryhistory:对话历史context_out:搜索结果(如果传入个性化知识,则是个性化知识 + 搜索结果) instruction:人设time:当前时间其中变量query或original_query(至少一个)、context_out必须出现在override_system_template或override_prompt_template中,其他变量可选。样例:"请遵循以下人设指令回答问题:{{instruction}} "。 |
override_prompt_template | string | 否 | 面向高阶用户开放自定义prompt模版,普通用户不需要设置,支持添加的变量包括: query:经过改写等处理后的queryoriginal_query:用户原始queryhistory:对话历史context_out:搜索结果(如果传入个性化知识,则是个性化知识 + 搜索结果) instruction:人设time:当前时间其中变量query或original_query(至少一个)、context_out必须出现在override_system_template或override_prompt_template中,其他变量可选。样例:"搜索结果:\n{{context_out}}\n\n用户query:\n{{query}} "。 |
message对象
字段 | 类型 | 是否必填 | 说明 |
---|---|---|---|
role | string | 是 | 角色标识符。枚举值:user:用户assistant:模型 |
content | string | 是 | 对应角色的对话内容。注意:当role为user时,content字符长度需要小于等于2000,超出则会截断 |
search_resource_type对象
字段 | 类型 | 是否必填 | 说明 |
---|---|---|---|
count | int | 是 | 检索个数 |
type | string | 是 | 模态类型,枚举值web:网页image_content:图像内容video:视频内容 |
knowledge对象
字段 | 类型 | 是否必填 | 说明 |
---|---|---|---|
priority | int | 否 | 优先级的范围【-20,20】,搜索结果默认是0;优先级的定义:数字值越小,优先级越高,例如-20是优先级最高,如果与百度搜索结果优先级相同,优先使用定制化知识点,默认值为0 |
data_type | str | 否 | 数据类型 |
id | int | 否 | 默认按照传入数组顺序进行编号,依次编号为1、2...n,如果对应知识点被模型引用到,会按照ref_编号的方式进行标记,比如:ref_1、ref_2...ref_n;如果传入编号,编号必须递增,且最大值不超过50 |
data | object | 是 | 详细知识内容 |
knowledge.data对象
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
content | str | 是 | 知识点内容 |
title | str | 否 | 知识点标题 |
url | str | 否 | 知识点url地址 |
release_date | str | 否 | 发布日期 |
响应头域
除公共头域外,无其它特殊头域,可前往通用说明查看。
响应参数
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
code | int | 是 | 错误码。0为成功,否则为错误。 |
message | string | 是 | 错误信息。 |
result | object | 是 | 搜索与模型总结结果 |
result对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
session_id | string | 是 | id(该字段即将下线) |
is_completion | bool | 否 | 流式响应中表示请求是否结束 |
answer_message | object | 是 | 百度AI搜索返回结果 |
result.answer_message对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
extra | array[reference] | 是 | 检索结果。流式返回中,首条是检索结果,后面是大模型回复。为了不重复传检索结果,仅首条有extra |
token_usage | object | 是 | 该次请求消耗的token数。注意:流式请求时需要看最后一个事件的token_usage |
content | string | 是 | 模型的回答 |
rewriten_query | string | 是 | 改写query |
request_id | string | 是 | 请求ID requestId |
is_safe | bool | 是 | 是否触发安全策略 |
search_times | int | 是 | 搜索次数,一般模态越多、引用次数越多搜索次数也相应增加,精确的次数与query内容有关 |
result.answer_message.reference对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
icon | string | 是 | icon地址,如果没有的话为null |
ref_num | string | 是 | 引用索引 |
title | string | 是 | 网页标题 |
url | string | 是 | 网页地址 |
given_to_llm | bool | 是 | 是否给模型 |
web_anchor | string | 是 | 网站锚文本,如果没有的话使用网站标题 |
content | string | 是 | 网站内容,当前仅返回20字。 |
resource_type | string | 否 | 检索资源类型:web:网页image_content:图像内容video:视频内容 |
image_detail | object | 否 | 图片详情 |
vedio_detail | object | 否 | 视频详情 |
result.answer_message.reference.image_detail对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
url | string | 否 | 图片链接 |
height | string | 否 | 图片高度 |
width | string | 否 | 图片宽度 |
result.answer_message.reference.video_detail对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
url | string | 否 | 视频链接 |
height | string | 否 | 视频高度 |
width | string | 否 | 视频宽度 |
size | string | 否 | 视频大小,单位Bytes |
duration | string | 否 | 视频长度,单位秒 |
result.answer_message.token_usage对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
prompt_tokens | int | 否 | prompt(输入)token数 |
completion_tokens | int | 否 | completion(输出)token数 |
prompt_tokens_details | object | 否 | prompt(输入)token数详情 |
total_tokens | int | 否 | 总token数 |
result.answer_message.token_usage.prompt_tokens_details对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
search_tokens | int | 否 | 搜索结果占用的token数 |
请求curl示例
curl --location 'https://appbuilder.baidu.com/rpc/2.0/cloud_hub/v1/ai_engine/copilot_engine/service/v1/baidu_search_rag/general' \
--header 'Content-Type: application/json' \
--header 'X-Appbuilder-Authorization: Bearer <AppBuilder API Key>' \
--data '{
"messages": [
{
"content": "介绍下珠穆朗玛峰",
"role": "user"
}
],
"max_search_times" :1,
"instruction": "你是一个旅游助手",
"stream": true,
"model": "ERNIE-3.5-8K",
"enable_instruction_enhance": true,
"enable_historical_query_rewriting": true,
"customize_knowledge": [
{"priority":0, "data": {"content":"珠穆朗玛峰(Qomolangma)简称珠峰,又意译作圣母峰,尼泊尔称为萨加马塔峰,藏语的“珠穆朗玛”意为“第三女神”。该峰位于中华人民共和国和尼泊尔交界的喜马拉雅山脉之上,终年积雪。常年低温。珠穆朗玛峰是喜马拉雅山脉的主峰。"}}
]
}'
正确返回示例
data: {"code": 0, "message": "", "result": {"is_completion": false, "answer_message": {"extra": [{"url": "https://baike.baidu.com/item/%E7%8F%A0%E7%A9%86%E6%9C%97%E7%8E%9B%E5%B3%B0/3058?fr=ge_ala", "ref_num": "2", "title": "珠穆朗玛峰", "date": null, "content": "珠穆朗玛峰(英语:Mount Qomol...", "icon": "https://appbuilder.bj.bcebos.com/baidu-search-rag-pro/icon/logo-baike.svg", "web_anchor": "百度百科", "resource_type": "web", "image_detail": {"url": null, "height": null, "width": null}, "vedio_detail": {"url": null, "height": null, "width": null, "size": null, "duration": null}, "given_to_llm": true}, {"url": "http://weibo.com/tv/show/1034:5077361029480494", "ref_num": "3", "title": "3分半钟卫星视角带你看完珠穆朗玛峰!", "date": "2024-12-05", "content": "3分半钟卫星视角带你看完珠穆朗玛峰! \\...", "icon": "https://appbuilder.bj.bcebos.com/baidu-search-rag-pro/icon/sina weibo.svg.png", "web_anchor": "微博", "resource_type": "web", "image_detail": {"url": null, "height": null, "width": null}, "vedio_detail": {"url": null, "height": null, "width": null, "size": null, "duration": null}, "given_to_llm": true}, {"url": "http://www.bilibili.com/video/BV1obvreZEoZ", "ref_num": "4", "title": "世界之巅—珠穆朗玛峰", "date": "2024-12-02", "content": "世界之巅—珠穆朗玛峰 林德艾润AROOX...", "icon": "https://appbuilder.bj.bcebos.com/baidu-search-rag-pro/icon/bilibili.ico", "web_anchor": "哔哩哔哩", "resource_type": "web", "image_detail": {"url": null, "height": null, "width": null}, "vedio_detail": {"url": null, "height": null, "width": null, "size": null, "duration": null}, "given_to_llm": true}, {"url": "https://haokan.baidu.com/v?pd=wisenatural&vid=12981671510033443617", "ref_num": "5", "title": "世界之巅——珠穆朗玛峰", "date": "2024-12-02", "content": "世界之巅——珠穆朗玛峰 珠穆朗玛峰 中国...", "icon": "https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=76251347,1123177279&fm=195&app=88&f=PNG?w=200&h=200", "web_anchor": "好看视频", "resource_type": "web", "image_detail": {"url": null, "height": null, "width": null}, "vedio_detail": {"url": null, "height": null, "width": null, "size": null, "duration": null}, "given_to_llm": true}], "token_usage": {}, "content": "", "rewriten_query": "介绍下珠穆朗玛峰", "request_id": "7afb088f-314f-4f26-b255-a41a05abd49f", "is_safe": true, "search_times": 1}}}
data: {"code": 0, "message": "", "result": {"is_completion": false, "answer_message": {"extra": [], "token_usage": {"prompt_tokens": 1220, "completion_tokens": 0, "total_tokens": 1220}, "content": "珠穆朗", "rewriten_query": "介绍下珠穆朗玛峰", "request_id": "7afb088f-314f-4f26-b255-a41a05abd49f", "is_safe": true, "need_clear_history": false, "search_times": 1}}}
data: {"code": 0, "message": "", "result": {"is_completion": false, "answer_message": {"extra": [], "token_usage": {"prompt_tokens": 1220, "completion_tokens": 0, "total_tokens": 1220}, "content": "玛峰", "rewriten_query": "介绍下珠穆朗玛峰", "request_id": "7afb088f-314f-4f26-b255-a41a05abd49f", "is_safe": true, "need_clear_history": false, "search_times": 1}}}
data: {"code": 0, "message": "", "result": {"is_completion": false, "answer_message": {"extra": [], "token_usage": {"prompt_tokens": 1220, "completion_tokens": 0, "total_tokens": 1220}, "content": "(Q", "rewriten_query": "介绍下珠穆朗玛峰", "request_id": "7afb088f-314f-4f26-b255-a41a05abd49f", "is_safe": true, "need_clear_history": false, "search_times": 1}}}
...
错误码
错误码 | 描述 |
---|---|
400 | 客户端请求参数错误 |
500 | 服务端执行错误 |
501 | 调用模型服务超时 |
502 | 模型流式输出超时 |
其它 | 详见模型返回错误码https://cloud.baidu.com/doc/WENXINWORKSHOP/s/tlmyncueh |