调用百度AI搜索
百度AI搜索基于百度搜索与AI技术,可提供强大的百度搜索和智能搜索生成能力。
百度搜索:满足多样的常规搜索需求,用户可获取所需的高质量多模态内容。
智能搜索生成:在此基础上提供大模型内容总结,免于纷繁的信息筛选提炼。支持图文多模态输入处理、输入改写扩写增强、丰富的模型选择配置、自定安全策略等能力,支撑各场景下的信息获取需求。
接口(V2)当前限时免费体验,每天免费额度为100次,支持按量后付费,默认优先抵扣免费资源,详情请见计费说明。
为提供更优质稳定的服务,如每天需调用100,000次以上请您联系我们进行开通。
根据用户问题搜索全网实时信息,并使用大模型进行智能总结回答,支持选择DeepSeek系列模型。
权限说明
调用本API,需使用API Key鉴权方式。Authorization的值为Bearer <API Key>。获取API Key流程,请查看授权。
请求参数
搜索输入
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有道歉吗"}
]
搜索模式:支持百度搜索、支持智能搜索生成
显示子属性
隐藏子属性
显示子属性
隐藏子属性
角色设定,可选值包括user、assistant
user:用户
assistant:模型
多选一,只需要符合下列任意一组子节点
显示子属性
隐藏子属性
对话内容。
(1)不能为空
(2)最后一个message对应的content不能为blank字符,如空格、"\n"、“\r”、“\f”等
如果只传入ImageContentBlock对象,则为对图片内容进行理解
如果同时传入ImageContentBlock对象、TextContentBlock对象
TextContentBlock中包括对图片内容的提问,目前仅支持传入一个图片
显示子属性
隐藏子属性
多选一,只需要符合下列任意一组子节点
显示子属性
隐藏子属性
ImageContentBlock对象
显示子属性
隐藏子属性
值固定为image_url
图片地址,支持图片格式包括jpeg、 jpg、 png、 webp
显示子属性
隐藏子属性
图片可下载url地址或base64编码后的图片内容
TextContentBlock对象
显示子属性
隐藏子属性
值固定为text
文本内容
使用的搜索引擎版本;
可选值:baidu_search_v1、baidu_search_v2
百度搜索时默认且仅可输入baidu_search_v2
智能搜索生成时均可输入,兼容性考虑默认为baidu_search_v1
V2相比于V1:提升了性能表现,提升了数据内容的丰富度,更适用于结合大模型使用的场景,建议默认使用V2。
搜索模式:支持百度搜索、支持智能搜索生成
单次搜索最大返回数量。
search_source为baidu_search_v1时:
默认为返回网页top 10搜索结果,{"type": "web","top_k": 10}],每种搜索类型支持返回的数量范围为:1~10
示例:
[{"type": "image","top_k": 4},
{"type": "video","top_k": 4},
{"type": "web","top_k": 4}]
当search_source为baidu_search_v2时:
仅支持设置网页搜索模态,top_k最大取值为20.
[{"type": "mix","top_k": 4}]
特别的,如需单次返回更多链接,可在智能搜索生成中开启深度搜索
搜索模式:支持百度搜索、支持智能搜索生成
显示子属性
隐藏子属性
显示子属性
隐藏子属性
搜索资源类型。
可选值:
video: 视频
image: 图片
web:网页
指定模态最大返回个数
根据SearchFilter下的子条件做检索过滤,使用方式详见后文;
仅search_source为baidu_search_v2时生效
搜索模式:支持百度搜索、支持智能搜索生成
显示子属性
隐藏子属性
条件查询
显示子属性
隐藏子属性
支持设置指定站点的搜索条件,即仅在设置的站点中进行内容搜索。目前仅支持设置5个站点。
显示子属性
隐藏子属性
范围查询,更多内容可查看范围查询
显示子属性
隐藏子属性
时间查询,假设下述的now时间是2024-07-16
显示子属性
隐藏子属性
时间查询参数,值为"now-1d/d",表示含义:大于2024-07-15 00:00:00,包含2024-07-15完整天
时间查询参数,值为"now-1d/d",表示含义:大于2024-07-15 23:59:59,不包含2024-07-15完整天
时间查询参数,值为"now-1d/d",表示含义:小于2024-07-15 23:59:00,包含2024-07-15完整天
时间查询参数,值为"now-1d/d",表示含义:小于2024-07-15 00:00:00,不包含2024-07-15完整天
根据网页发布时间进行筛选。
枚举值:
week:最近7天
month:最近30天
semiyear:最近180天
year:最近365天
搜索模式:支持百度搜索、支持智能搜索生成
支持设置基于站点的过滤条件,对搜索到的结果按指定站点进行筛选,仅返回来自所设站点的内容。例如:设置["baidu.com"],在搜索到的结果中仅返回来自 baidu.com 的搜索结果。
显示子属性
隐藏子属性
使用的模型名。
目前支持模型选项如下:
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
8. ernie-4.5-turbo-32k
9. ernie-4.5-turbo-128k
pro-deepseek-r1与 pro-deepseek-v3需提交表单 申请
搜索模式:仅支持智能搜索生成
人设指令,用于限制输出风格等。
默认值:""
注意:字符长度需要小于等于2000
搜索模式:仅支持智能搜索生成
模型采样参数。较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定。
值范围:(0, 1]
默认值:1e-10
注意:该值越大,模型输出越多样,也越不稳定
搜索模式:仅支持智能搜索生成
模型采样参数。
影响输出文本的多样性,取值越大,生成文本的多样性越强。
值范围:(0, 1]
默认值:1e-10
注意:该值越大,模型输出越多样,也越不稳定
搜索模式:仅支持智能搜索生成
面向高阶用户开放自定义prompt模版,普通用户不需要设置,支持添加的变量包括:
query:经过改写等处理后的query
original_query:用户原始query
history:对话历史
context_out:搜索结果(如果传入个性化知识,则是个性化知识 + 搜索结果)
instruction:人设
time:当前时间
其中变量query或original_query(至少一个)、context_out必须出现在override_prompt_template中,其他变量可选。
样例:"搜索结果:
{{context_out}}
用户query:
{{query}} "。
搜索模式:仅支持智能搜索生成
控制是否开启联网搜索。默认为 auto。
可选值:
auto:自动判断是否需要搜索
required: 必须执行搜索
disabled: 禁用搜索功能
搜索模式:仅支持智能搜索生成
是否开启深度思考,仅对DeepSeek-R1模型生效,开启后,输出答案前会输出思考内容。
默认值:true
可选值:
true:开启
false:不开启
搜索模式:仅支持智能搜索生成
是否开启深搜索。
深搜索会产生10次以内的智能搜索生成服务调用
默认值:false
可选值:
true:开启,每种搜索类型最多返回100个搜索结果。
false:不开启,每种搜索类型最多返回10个搜索结果。
搜索模式:仅支持智能搜索生成
调用方提供的定制化知识内容集合,与公开的联网搜索结果构成合集,注入到模型中进行问答总结。知识注入的条数和长度, 与模型有关,限制最大10条。
可以配合 priority(优先级参数)使用,让本地搜索结果在能回答问题时优先被采用。当前支持三个优先级:-1、0、1,数值越小优先级越高,回答时会优先选择高优先级的内容。其中,百度搜索结果的优先级为 0。
搜索模式:仅支持智能搜索生成
显示子属性
隐藏子属性
显示子属性
隐藏子属性
显示子属性
隐藏子属性
知识点url地址
知识点标题
知识点内容
发布日期
搜索结果的优先级: 数字值越小,优先级越高。
取值范围【-1,1】
默认值为0;
举例:
-1是优先级最高,如果与百度搜索结果优先级相同,优先使用定制化知识点,默认值为0
数据类型
默认2048,不同模型支持的最大输出token不一样,具体参考:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Fm2vrveyu#%E6%94%AF%E6%8C%81%E6%A8%A1%E5%9E%8B%E5%88%97%E8%A1%A8
搜索模式:仅支持智能搜索生成
输出内容样式。默认值 auto。可选值:
auto:模型自动判断是纯文本输出还是图文混排输出。
text:文本输出。
rich_text: 图文混排输出。如:在美食和旅游两个场景下,输出文本中嵌入markdown语法的图片内容。 比如: ...北京美食包括北京烤鸭等。
选择rich_text时推荐使用ernie-4.0-turbo-128k、ernie-4.0-turbo-8k模型
搜索模式:仅支持智能搜索生成
用于设置在最后生成的总结内容正文时,是否返回角标用于标记模型输出内容的参考来源。
值含义:
true:开启角标
false:隐藏角标
默认值:true
搜索模式:仅支持智能搜索生成
针对用户问题和大模型回答结果,给出推荐的追问。
默认为false
可选值:
true: 开启追问
false:不开启追问
搜索模式:仅支持智能搜索生成
是否为流式请求。
值含义:
true:使用HTTP SSE流式响应
false:以非流式结果返回
默认值为false;
搜索模式:仅支持智能搜索生成
安全等级。可选值包括:
standard:默认安全等级
strict:严格安全等级
搜索模式:仅支持智能搜索生成
调节用于模型问答总结的最大搜索条数,默认是全部搜索结果。
搜索模式:仅支持智能搜索生成
用户配置id
,指定使用该配置id下的领域知识注入、网页黑名单、问答干预策略等配置,详细说明请查看文档
搜索模式:仅支持智能搜索生成
模型调用appid
POST /v2/ai_search/chat/completions HTTP/1.1
HOST: qianfan.baidubce.com
Authorization: Bearer <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
}
示例代码
curl --location 'https://qianfan.baidubce.com/v2/ai_search/chat/completions' \
--header 'X-Appbuilder-Authorization: Bearer <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}]
}'
返回响应
错误代码,当发生异常时返回
token开销
显示子属性
隐藏子属性
总token数
prompt(输入)token数
completion(输出)token数
模型生成的 completion 的选择列表
显示子属性
隐藏子属性
显示子属性
隐藏子属性
流式返回的completion增量
显示子属性
隐藏子属性
固定值assistant
completion内容
仅适用于 deepseek思考系列模型。
内容为 assistant 消息中在最终答案之前的推理内容
该completion在选择列表中的索引
非流式模型生成的completion消息
显示子属性
隐藏子属性
固定值assistant
completion内容
仅适用于 deepseek思考系列模型。
内容为 assistant 消息中在最终答案之前的推理内容
模型停止生成token的原因。
可选值:
stop: 模型自然停止生成
length: 输出长度达到了模型上下文长度限制
query是否安全
错误代码,当发生异常时返回
请求request_id
模型回答参考引用内容
显示子属性
隐藏子属性
显示子属性
隐藏子属性
引用编号1、2、3
网页日期
站点图标
检索资源类型:
web:网页
image:图像内容
video:视频内容
图片详情
显示子属性
隐藏子属性
图片链接
图片宽度
图片高度
网页标题
视频详情
显示子属性
隐藏子属性
视频链接
视频大小,单位Bytes
视频宽度
视频高度
视频长度,单位秒
视频封面图
网站内容,当前仅返回20字
网站锚文本或网站标题
网页地址
追问问题
显示子属性
隐藏子属性
{
"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] )"
}
通过OpenAI SDK调用
百度AI搜索V2版本使用与 OpenAI 兼容的 API 格式,通过修改配置,您可以使用 OpenAI SDK 来访问百度AI搜索。
前提条件
确保已安装最新版OpenAI SDK
调用示例
# Please install OpenAI SDK first: `pip3 install openai`
from openai import OpenAI
client = OpenAI(api_key="bce-v3/ALTAK***Altc/051c6***d238ce", # API Key
base_url="https://qianfan.baidubce.com/v2/ai_search") # 百度AI搜索V2版本接口
response = client.chat.completions.create(
model="deepseek-r1",
messages=[
{"role": "user", "content": "今天有哪些体育新闻"}
],
stream=False
)
print(response.choices[0].message.content)