资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

百度搜索

接口描述

概述:可根据用户输入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天
search_domain_filter list<string> 支持设置基于站点的过滤条件,对搜索到的结果按指定站点进行筛选,仅返回来自所设站点的内容。例如:设置["baidu.com"],在搜索到的结果中仅返回来自 baidu.com 的搜索结果。

Message对象

参数名称 类型 是否必须 描述
role string 角色设定,可选值:
user:用户
assistant:模型
content string或array<union<
TextContentBlock,
ImageContentBlock>>
1. 当content为文本时, 对应对话内容,说明:
1.1 不能为空
1.2 最后一个message对应的content不能为blank字符,如空格、"\n"、“\r”、“\f”等
2. 当content为数组时,如果只传入ImageContentBlock对象,则对图片内容进行理解
3. 当content为数组时,如果同时传入ImageContentBlock对象、TextContentBlock对象
TextContentBlock中包括对图片内容的提问,目前仅支持传入一个图片
以下分别为纯文本问答、纯图内容理解、图文多模理解场景下,content参数的示例值:
# 1. 纯文本问答
"今天最新新闻"。
# 2. 纯图内容理解
[{
"type": "image_url",
"image_url"{
"url":"https://img0.baidu.com/it/u=589029460,3453668126&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=599"
}
}
]
# 3. 图文多模理解场景下
[{
"type": "text",
"text": "图中的食物怎么做"
},
{
"type": "image_url",
"image_url": {
"url":"https://pic.rmb.bdstatic.com/bjh/240306/events/6eb350bfb9a7c34bf73907507676075b256.jpeg@h_1280"
}
}]

SearchFilter

参数名称 类型 是否必须 描述
match object 条件查询
+site array<string> 支持设置指定站点的搜索条件,即仅在设置的站点中进行内容搜索。目前支持设置5个站点。
range object 范围查询,更多内容可查看范围查询详情
+page_time object 假设下述的now时间是2024-07-16
++gth 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完整天
++lth 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"
              }
         }
     }
 }

ImageContentBlock对象

参数名称 类型 是否必须 描述
type string 值固定为image_url
image_url URL 图片地址,支持图片格式包括jpeg、 jpg、 png、 webp

ImageContentBlock.URL对象

参数名称 类型 是否必须 描述
url string 图片可下载url地址或base64编码后的图片内容

TextContentBlock对象

参数名称 类型 是否必须 描述
type string 值固定为text
text string 文本内容

SearchResource对象

参数名称 类型 是否必须 描述
type string 搜索资源类型。
可选值:
web:网页
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 网站锚文本或网站标题
content string 网站内容,返回更长更完整的原文片段
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 视频封面图

请求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": "mix","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] )"
}

OpenAI SDK调用百度AI搜索

百度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", # 千帆AppBuilder平台的ApiKey      
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)

Cursor中使用百度AI搜索MCP组件

通过Cursor Chat直接使用

  • 可在Cursor中直接体验百度AI搜索组件的深度搜索与智能总结能力,高效准确地获取答案。

操作步骤

第一步:获取百度AI搜索Server URL

  • 百度AI搜索Server URL:

    http://appbuilder.baidu.com/v2/ai_search/mcp/sse?api_key=xxx
  • 其中,api_key的格式为"Bearer+<AppBuilder API Key>",注意保留中间“+”,示例:Bearer+bce-v3/ALTAK-xuZRMCVTC9######
  • AppBuilder API Key获取方式:控制台点击API Key进行创建,服务选择千帆AppBuilder,确定即可
图片1 图片2

第二步:在Cursor中添加Server

  • Cursor设置界面-> MCP-> Add new MCP Server -> 填写server信息。
图片1 图片2

注意,Cursor最新版本需要通过配置json来添加MCP Server。 核心代码示例:

{
  "mcpServers": {
    "AISearch": {
      "url": "百度AI搜索Server URL"
    }
  }
}

第三步:在Cursor中使用百度AI搜索组件

  • 前往Cursor新版本的chat、旧版本的composer中,即可与agent对话。

效果展示:

在Cursor中,我们向Agent提问:今天有哪些体育新闻?这时百度AI搜索将为用户搜索今天最新的体育新闻,并在Cursor中将总结好的内容返回给用户。

image (6).png

错误码

错误码 描述
400 客户端请求参数错误
500 服务端执行错误
501 调用模型服务超时
502 模型流式输出超时
其它 详见模型返回错误码
https://cloud.baidu.com/doc/WENXINWORKSHOP/s/tlmyncueh
上一篇
智能搜索生成
下一篇
干预策略配置