百度搜索
能力描述
概述: 可根据用户输入query,搜索全网实时信息,并返回摘要、网址等信息。
计费:每日免费额度为100次,支持按量后付费(为不影响使用体验,可先去开通后付费),默认优先抵扣免费资源,且每个账号每天最多使用100,000次。如有更多调用需求请您联系我们进行开通,费用详情请查看计费说明。
在线调试
百度智能云千帆提供了API在线调试平台 ,平台集成了快速检索、查看开发文档、查看在线调用的请求内容和返回结果、复制和下载示例代码等功能,帮助开发者快速调试接口。
接口定义
URL | /v2/ai_search/web_search |
---|---|
Method | POST |
Content-Type | application/json |
Authorization | 请求签名(Bearer <AppBuilder API Key>) |
请求结构
POST /v2/ai_search/web_search HTTP/1.1
HOST: qianfan.baidubce.com
Authorization: Bearer <AppBuilder API Key>
Content-Type: application/json
{
"messages": [
{
"content": "北京有哪些旅游景区",
"role": "user"
}
],
"search_source": "baidu_search_v2",
"resource_type_filter": [{"type": "web","top_k": 20}],
"search_filter": {
"match": {
"site": [
"www.weather.com.cn"
]
}
},
"search_recency_filter": "year"
}
请求参数
header参数
除公共头域外,无其它特殊头域。
body参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
messages | array<Message> | 是 | 搜索输入; array的长度需要是奇数, role必须是user-assistant-user交替,以user开始以user结束;在百度搜索时,仅支持单轮输入,若传入多轮输入,则以用户传入最后的content为输入查询。 |
edition | string | 否 | 搜索版本。默认为standard。 可选值: standard:完整版本。 lite:标准版本,对召回规模和精排条数简化后的版本,时延表现更好,效果略弱于完整版。 |
search_source | string | 否 | 使用的搜索引擎版本; 固定值:baidu_search_v2 |
resource_type_filter | array<SearchResource> | 否 | 支持设置网页、视频、图片、阿拉丁搜索模态,网页top_k最大取值为50,视频top_k最大为10,图片top_k最大为30,阿拉丁top_k最大为5,默认值为: [{"type": "web","top_k": 20},{"type": "video","top_k": 0},{"type": "image","top_k": 0},{"type": "aladdin","top_k": 0}] 使用阿拉丁时注意: 1. 阿拉丁不支持站点、时效过滤。 2. 建议搭配网页模态使用,增加搜索返回数量。 3. 阿拉丁的返回参数为beta版本,后续可能变更。 |
search_filter | SearchFilter | 否 | 根据SearchFilter下的子条件做检索过滤,使用方式参考SearchFilter表详情。 |
block_websites | array<string> | 否 | 需要屏蔽的站点列表。过滤站点列表中属于该站点与该站点下子站点的搜索结果,为保证最终返回的结果数量,可能会引起时延的增长。 示例:["tieba.baidu.com"] |
search_recency_filter | string | 否 | 根据网页发布时间进行筛选。枚举值: week:最近7天 month:最近30天 semiyear:最近180天 year:最近365天 |
Message对象
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
role | string | 是 | 角色设定,可选值: user:用户 assistant:模型 |
content | string | 是 | content为文本时, 对应对话内容,即用户的query问题。说明: 1.不能为空。 2.多轮对话中,用户最后一次输入content不能为空字符,如空格、"\n"、“\r”、“\f”等。 |
SearchResource对象
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
type | string | 是 | 搜索资源类型。可选值: web:网页 video:视频 image:图片 aladdin:阿拉丁 |
top_k | int | 是 | 指定模态最大返回个数。 |
SearchFilter
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
match | object | 否 | 条件查询。 |
+ site | array<string> | 否 | 支持设置指定站点的搜索条件,即仅在设置的站点中进行内容搜索。目前支持设置20个站点。示例:["tieba.baidu.com"] |
range | object | 否 | 范围查询,参考范围查询(range)详情。 |
+ page_time | object | 否 | 假设下述的now时间是2024-07-16。 |
++ gte | string | 否 | 时间查询参数,大于或等于。"now-1w/d",2024-07-16前一周、向下做舍入,即大于2024-07-09 00:00:00,包含2024-07-09完整天。 |
++ gt | string | 否 | 时间查询参数,大于。"now-1w/d",2024-07-16前一周、向上做舍入,即大于2024-07-09 23:59:59,不包含2024-07-09完整天。 |
++ lte | string | 否 | 时间查询参数,小于或等于。"now-1w/d",2024-07-16前一周、向上做舍入,即小于2024-07-09 23:59:59,包含2024-07-09完整天。 |
++ lt | string | 否 | 时间查询参数,小于。"now-1w/d",2024-07-16前一周、向下做舍入,即小于2024-07-09 00:00:00,不包含2024-07-09完整天。 |
范围查询(range)
可以用于数值型、日期型的字段。语法格式如下:
"range": {
"{field}": {
"gte": "{lowerBound}",
"gt": "{lowerBound}",
"lte": "{upperBound}",
"lt": "{upperBound}"
}
}
实体(field)
pageTime:发布时间的实体名,表示针对pageTime做范围查询。此处pageTime对应响应数据中的page_time字段。网页发布时间的筛选功能只适用于可利用与可展现库,其他结果如视频等不召回。
查询范围(lowerBound\upperBound)
支持的时间单位:y(年)、M(月)、w(周)、d(日)。目前提供如下固定套餐,其他值非法。其中,"now"表示当前时间,在now后可以添加数学表达式:“-1w”表示减1周;“-1M”表示减1月;“-1y”表示减1年;“/d”表示归一化到当前天的起始\结束时间。
- now/d
- now-1w/d:一周
- now-2w/d:两周
- now-1M/d:一个月
- now-3M/d:三个月
- now-6M/d:六个月
- now-1y/d:一年
参数限制说明
- lte使用注意:range范围会参与检索系统的cache key计算,lte在做向上归一舍入后,由于cache可能导致结果时效性落后于match指定的lte值。
- 起始(lowerBound)和截止(upperBound)时间必需同时存在,否则该功能不生效。
- gte和gt只传其中一个即可,都传只生效gt;lte和lt只传其中一个即可,都传只生效lt。
示例
查询当天前7天(不含当天)发布的网页结果:
"query": {
"filter": {
"range": {
"page_time": {
"gte": "now-1w/d"
"lt": "now/d"
}
}
}
}
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 数据类型 | 描述 |
---|---|---|
requestId | string | 请求ID。 |
code | string | 错误码,当发生异常时返回。 |
message | string | 错误消息,当发生异常时返回。 |
references | array<Reference> | 模型回答详情列表,参考Reference对象表详情。 |
Reference对象
参数名称 | 数据类型 | 描述 |
---|---|---|
icon | string | 网站图标地址。 |
id | int | 引用编号1、2、3。 |
title | string | 网页标题。 |
url | string | 网页地址。 |
web_anchor | string | 网站锚文本或网站标题。 |
website | string | 站点名称。 |
content | string | 网页内容,显示2000字以内的相关信息原文片段 |
rerank_score | float | 原文片段相关性评分(仅type值为web、video时存在),取值范围0~1 |
authority_score | float | 网页权威性评分(仅type值为web时存在),取值范围0~1 |
date | string | 网页日期。 |
type | string | 检索资源类型。返回值: web:网页 video:视频内容 image:图片 aladdin:阿拉丁 |
image | ImageDetail | 图片详情。 |
video | VideoDetail | 视频详情。 |
is_aladdin | boolean | 是否为阿拉丁内容。 |
aladdin | Object | 阿拉丁详细内容,参考文档。 |
web_extensions | WebExtensions | 网页相关图片 |
Reference.ImageDetail对象
参数名称 | 数据类型 | 描述 |
---|---|---|
url | string | 图片链接。 |
height | string | 图片高度。 |
width | string | 图片宽度。 |
Reference.VideoDetail对象
参数名称 | 数据类型 | 描述 |
---|---|---|
url | string | 视频链接。 |
height | string | 视频高度。 |
width | string | 视频宽度。 |
size | string | 视频大小,单位Bytes。 |
duration | string | 视频长度,单位秒。 |
hover_pic | string | 视频封面图。 |
Reference.WebExtensions
参数名称 | 数据类型 | 描述 |
---|---|---|
images | array<Image> | 网页相关图片 |
+images[0].url | string | 图片链接 |
+images[0].height | string | 图片高度 |
+images[0].width | string | 图片宽度 |
请求curl 示例
curl --location 'https://qianfan.baidubce.com/v2/ai_search/web_search' \
--header 'X-Appbuilder-Authorization: Bearer <AppBuilder API Key>' \
--header 'Content-Type: application/json' \
--data '{
"messages": [
{
"content": "河北各个城市最近的天气",
"role": "user"
}
],
"search_source": "baidu_search_v2",
"resource_type_filter": [{"type": "web","top_k": 10}],
"search_filter": {
"match": {
"site": [
"www.weather.com.cn"
]
}
},
"search_recency_filter": "year"
}'
正确响应示例
{
"references": [
{
"content": "河北天气预报,及时准确发布中央气象台天气信息,便捷查询河北今日天气\u0004,河北周末天气,河北一周天气预报,河北蓝天预报,河北天气预报,河北40日天气预报,还\u0005提供河北的生活指数、健康指数、交通...",
"date": "2025-04-27 18:02:00",
"icon": null,
"id": 1,
"image": null,
"title": "【河北天气】河北天气预报,蓝天,蓝天预报,雾霾,雾霾...",
"type": "web",
"url": "https://www.weather.com.cn/html/weather/101031600.shtml",
"video": null,
"web_anchor": "【河北天气】河北天气预报,蓝天,蓝天预报,雾霾,雾霾..."
},
{
"content": "保定天气预报,及时准确发布中央气象台天气信息,便捷查询保定今日天气,保定周末天气,保定一周天气预报,保定蓝天预报,保定天气预报,保定40日天气预报,还提供保定的生活指数、健康指数、交通...",
"date": "2025-05-20 11:58:00",
"icon": null,
"id": 2,
"image": null,
"title": "保定天气预报,保定7天天气预报,保定15天天气预报,保定...",
"type": "web",
"url": "https://www.weather.com.cn/weather/101090201.shtml",
"video": null,
"web_anchor": "保定天气预报,保定7天天气预报,保定15天天气预报,保定..."
},
{
"content": "河北省气象台2025年05月23日11时发布天气预报: 今天下午到夜间,保定西部、石家庄西部、邢台西部阴有小雨或零星小雨转晴,其他地区阴转晴。最高气温,张家口、承德北部、保定西北部13~17...",
"date": "2025-05-23 00:00:00",
"icon": null,
"id": 3,
"image": null,
"title": "今天西部部分地区仍有降水 其它地区阴转晴-河北首页...",
"type": "web",
"url": "http://hebei.weather.com.cn/tqxs/4190923_m.shtml",
"video": null,
"web_anchor": "今天西部部分地区仍有降水 其它地区阴转晴-河北首页..."
},
{
"content": "河北省气象台2025年05月22日05时发布天气预报 今天白天,保定、廊坊及以北地区阴有小雨或阵雨,其中张家口、保定西北部有中到大雨;其他地区多云转阴有小雨或阵雨,其中邯郸大部有中雨。...",
"date": "2025-05-22 09:07:22",
"icon": null,
"id": 4,
"image": null,
"title": "今天白天到夜间,我省大部分地区有降水-河北首页-中国...",
"type": "web",
"url": "http://hebei.weather.com.cn/tqxs/4189523_m.shtml",
"video": null,
"web_anchor": "今天白天到夜间,我省大部分地区有降水-河北首页-中国..."
}
],
"request_id": "ca749cb1-26db-4ff6-9735-f7b472d59003"
}
错误响应示例
{
"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] )"
}
错误码
错误码 | 描述 |
---|---|
400 | 客户端请求参数错误。 |
500 | 服务端执行错误。 |
501 | 调用模型服务超时。 |
502 | 模型流式输出超时。 |
其它 | 详见模型返回错误码。 |