Files
mycode/BaiduSearch/Readme.md
2026-02-04 12:13:56 +08:00

12 KiB
Raw Permalink Blame History

百度搜索 搜索工具 API @百度千帆官方 更新于2024-08-02 21:38 92.7k人使用 百度搜索BaiduSearch是一项利用百度搜索引擎查找相关信息的组件它会直接输出用户的搜索内容。当前组件已升级可支持API调用或在工作流Agent中使用。

概述

API 调用

MCP 调用 认证鉴权 调用此工具需使用百度千帆 API Key 鉴权,请前往 创建或获取 Authorization: Bearer <YOUR_API_Key> 接口说明 在线调试 百度智能云千帆提供了API在线调试平台平台集成了快速检索、查看开发文档、查看在线调用的请求内容和返回结果、复制和下载示例代码等功能帮助开发者快速调试接口。

接口定义 URL /v2/ai_search/web_search Method POST Content-Type application/json Authorization 请求签名(Bearer ) 请求结构 POST /v2/ai_search/web_search HTTP/1.1 HOST: qianfan.baidubce.com Authorization: Bearer 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为输入查询。 edition string 否 搜索版本。默认为standard。 可选值: standard完整版本。 lite标准版本对召回规模和精排条数简化后的版本时延表现更好效果略弱于完整版。 search_source string 否 使用的搜索引擎版本; 固定值baidu_search_v2 resource_type_filter array 否 支持设置网页、视频、图片、阿拉丁搜索模态网页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 否 需要屏蔽的站点列表。过滤站点列表中属于该站点与该站点下子站点的搜索结果,为保证最终返回的结果数量,可能会引起时延的增长。 示例:["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 否 支持设置指定站点的搜索条件即仅在设置的站点中进行内容搜索。目前支持设置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只传其中一个即可都传只生效gtlte和lt只传其中一个即可都传只生效lt。 示例

查询当天前7天(不含当天)发布的网页结果:

"query": { "filter": { "range": { "page_time": { "gte": "now-1w/d" "lt": "now/d" } } } } 响应头域 除公共头域外,无其它特殊头域。

响应参数 参数名称 数据类型 描述 request_id string 请求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字以内的相关信息原文片段 rerank_score float 原文片段相关性评分仅type值为web、video、image时存在取值范围[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 网页相关图片 +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 '
--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时发布天气预报: 今天下午到夜间,保定西部、石家庄西部、邢台西部阴有小雨或零星小雨转晴,其他地区阴转晴。最高气温,张家口、承德北部、保定西北部1317...", "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 模型流式输出超时。 其它 详见模型返回错误码。