百度搜索
组件描述
概述:可根据用户输入query搜索全网实时信息;
计费:每日免费额度为100次,支持按量后付费(为不影响使用体验,可先去开通后付费),默认优先抵扣免费资源,且每个账号每天最多使用100,000次;
如有更多调用需求请您联系我们进行开通。上限统计口径为免费+付费,费用详情请查看计费说明。
接口在线调试
百度智能云千帆提供了 API在线调试平台-示例代码 ,用于帮助开发者调试接口,平台集成快速检索、查看开发文档、查看在线调用的请求内容和返回结果、复制和下载示例代码等功能,简单易用。
接口定义
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"
}
],
"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 | 是 | 搜索输入; array的长度需要是奇数, role必须是user-assistant-user交替,以user开始以user结束;在百度搜索时,仅支持单论输入,若传入多轮输入,则以用户传入最后的content为输入查询。 |
search_source | string | 否 | 使用的搜索引擎版本; 固定值:baidu_search_v2 |
resource_type_filter | array<SearchResource> | 否 | 单次搜索最大返回数量。 支持设置网页、视频搜索模态,网页top_k最大取值为50,视频top_k最大为10,默认值为:[{"type": "web","top_k": 20}] |
search_filter | SearchFilter | 否 | 根据SearchFilter下的子条件做检索过滤,使用方式详见后文; |
search_recency_filter | string | 否 | 根据网页发布时间进行筛选; 枚举值: week:最近7天 month:最近30天 semiyear:最近180天 year:最近365天 |
Message对象
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
role | string | 是 | 角色设定,可选值: user:用户 assistant:模型 |
content | string | 是 | 1. 当content为文本时, 对应对话内容,说明: 1.1 不能为空 1.2 最后一个message对应的content不能为blank字符,如空格、"\n"、“\r”、“\f”等 |
SearchFilter
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
match | object | 否 | 条件查询 |
+site | array<string> | 否 | 支持设置指定站点的搜索条件,即仅在设置的站点中进行内容搜索。目前支持设置20个站点。 |
range | object | 否 | 范围查询,更多内容可查看范围查询详情 |
+page_time | object | 否 | 假设下述的now时间是2024-07-16 |
++gte | string | 否 | 时间查询参数,值为"now-1d/d",表示含义:大于2024-07-15 00:00:00,包含2024-07-15完整天 |
++gt | string | 否 | 时间查询参数,值为"now-1d/d",表示含义:大于2024-07-15 23:59:59,不包含2024-07-15完整天 |
++lte | string | 否 | 时间查询参数,值为"now-1d/d",表示含义:小于2024-07-15 23:59:00,包含2024-07-15完整天 |
++lt | string | 否 | 时间查询参数,值为"now-1d/d",表示含义:小于2024-07-15 00:00:00,不包含2024-07-15完整天 |
范围查询(range)详情
- 可以用于数值型、日期型的字段。使用语法如下:
"range": {
"{field}": {
"gte": "{lowerBound}",
"gt": "{lowerBound}",
"lte": "{upperBound}",
"lt": "{upperBound}"
}
}
实体(field)
- pageTime:发布时间的实体名,表示针对pageTime做范围查询。此处pageTime对应响应数据中的page_time字段。(网页发布时间的筛选功能只适用于可利用与可展现库,其他结果如视频等不召回)
查询范围(lowerBound\upperBound)
- "now"表示当前时间,在now后 可以选择跟数学表达式:
- -1d:减1天;
- -1w:减1周;
- -1M:减1月;
- -1y:减1年;
- /d: 归一化到当前天的起始\结束时间
支持的时间单位
单位 | 含义 |
---|---|
y | 年 |
M | 月 |
w | 星期 |
d | 天 |
注意:目前提供固定套餐,其他值非法
now/d
now-1w/d:一周
now-2w/d:两周
now-1M/d:一个月
now-3M/d:三个月
now-6M/d:六个月
now-1y/d:一年
条件选项
eg:now=2024-07-16 12:00
条件 | 释义 | 用例(当前仅支持固定套餐值,其他值不支持) |
---|---|---|
gte | 大于或等于 | "now-1d/d",2024-07-16前一天、向下做舍入,即大于2024-07-15 00:00:00,包含2024-07-15完整天 |
gt | 大于 | "now-1d/d",2024-07-16前一天、向上做舍入,即大于2024-07-15 23:59:59,不包含2024-07-15完整天 |
lte | 小于 | "now-1d/d",2024-07-16前一天、向上做舍入,即小于2024-07-15 23:59:00,包含2024-07-15完整天 |
lt | 小于 | "now-1d/d",2024-07-16前一天、向下做舍入,即小于2024-07-15 00:00:00,不包含2024-07-15完整天 |
注意:
1、lte使用注意:range范围会参与检索系统的cache key计算,lte在做向上归一舍入后,由于cache可能导致结果时效性落后于match指定的lte值;
2、起始(lowerBound)和截止(upperBound)时间必需同时存在,否则该功能不生效;
3、gte和gt只传其中一个即可,都传只生效gt;lte和lt只传其中一个即可,都传只生效lt
用例
查询当天前7天(不含当天)发布的网页结果
"query": {
"filter": {
"range": {
"page_time": {
"gte": "now-1w/d"
"lt": "now/d"
}
}
}
}
SearchResource对象
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
type | string | 是 | 搜索资源类型。 可选值: web:网页 video:视频 |
top_k | int | 是 | 指定模态最大返回个数 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
requestId | string | 是 | 请求request_id |
code | string | 否 | 错误代码,当发生异常时返回 |
message | string | 否 | 错误代码,当发生异常时返回 |
references | array<Reference> | 否 | 模型回答参考引用内容 |
Reference对象
字段 | 类型 | 必然存在 | 说明 |
---|---|---|---|
icon | string | 否 | 网站图标地址 |
id | int | 是 | 引用编号1、2、3 |
title | string | 是 | 网页标题 |
url | string | 是 | 网页地址 |
web_anchor | string | 是 | 网站锚文本或网站标题 |
website | string | 否 | 站点名称 |
content | string | 否 | 网站内容,2000字以内的原文片段 |
date | string | 否 | 网页日期 |
type | string | 否 | 检索资源类型: web:网页 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 | 否 | 视频封面图 |
请求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"
}
],
"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 | 模型流式输出超时 |
其它 | 详见模型返回错误码https://cloud.baidu.com/doc/WENXINWORKSHOP/s/tlmyncueh |