文章目录
前言
在现在这个人工智能时代,你还在用传统的搜索吗?你还在为找到自己感兴趣的内容不断更换关键词吗?你还在一个网页一个网页的查找自己想要的信息吗?太慢了!!!
今天给大家分享一个AI时代的搜索引擎,全新的搜索体验,让大家用更少的时间获取自己最感兴趣的内容!
之前给大家分享过【手把手教学】用Python玩转博查AI Web Search API!全网搜索一键搞定!,今天带来它的进阶版——AI Search API!这个接口不仅能搜索全网信息,还能自动生成总结答案、推荐追问问题,甚至返回天气/百科/股票等结构化数据!手把手教你怎么玩转这个AI神器!
一、AI Search API
1.1 AI Search API 是什么?
你有没有想过,有没有一种API能帮你一键搜索全网信息,还能直接给出答案,甚至能回答你的追问?博查AI的 AI Search API 就是这样一款神器!
它能做什么?
-
搜索网页:返回相关网页内容,最多50条。
-
返回图片:与网页相关的图片资源。
-
智能模态卡:天气、百科、医疗、股票等一目了然的信息。
-
大模型总结答案:想要AI总结?它能搞定!
-
智能追问:你可能想问的下一个问题,AI都提前想好了!
1.2 API 入口在哪里?
-
API域名: https://api.bochaai.com
-
请求地址: https://api.bochaai.com/v1/ai-search
1.3 AI Search API vs Web Search API:区别在哪?
让我们先快速的回顾一下Web Search API的内容,并对比一下两个接口的核心差异在哪:
功能 | Web Search API | AI Search API |
---|---|---|
基础搜索 | ✅ 网页/图片 | ✅ 网页/图片/视频(需SDK) |
结构化数据(模态卡) | ❌ | ✅ 天气/百科/医疗/股票等15+类型 |
大模型生成答案 | ❌ | ✅ 自动总结+追问问题推荐 |
流式响应 | ❌ | ✅ 支持实时流式输出 |
单次返回最大结果数 | 50条 | 50条 |
适用场景 | 简单信息检索 | 智能问答/知识聚合/多模态交互 |
简单的说: Web Search可以作为你RAG模型的一环,下游你需要自己搭建一个模型来处理搜索返回的内容,但是AI Search可以全面优化你的使用体验,降低你的使用难度!
一句话总结:
AI Search = Web Search + 多模态数据 + 大模型智能处理 + 流式交互!
二、快速上手:5行代码调用AI Search API
2.1 前期准备(步骤同Web Search)
- 获取API Key
前往博查AI开放平台 → API Key管理 → 创建新Key(具体步骤可以参考文章【手把手教学】用Python玩转博查AI Web Search API!全网搜索一键搞定!)
- 安装依赖
pip install requests
2.2 怎么用?
-
发送请求
API 采用 POST 请求方式,传输 JSON 数据。
-
请求头
请求时需要加上一些必要的信息:
{
"Authorization": "Bearer {你的API_KEY}",
"Content-Type": "application/json"
}
-
Authorization:你的身份认证,格式:Bearer API Key
-
Content-Type:固定填 application/json,可以不填
- 请求参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
query | String | ✅ | 你要搜索的内容 |
freshness | String | ❌ | 限定搜索时间(oneDay、oneWeek、oneMonth、oneYear、noLimit),默认为noLimit |
count | Int | ❌ | 搜索返回的结果数量,默认10,最多50 |
answer | Boolean | ❌ | 是否用大模型总结(默认true) |
stream | Boolean | ❌ | 是否流式返回(默认false) |
2.3 调用示例
代码如下:
import requests
API_KEY = "sk-你的密钥"
url = "https://api.bochaai.com/v1/ai-search"
payload = {
"query": "北京今日天气", # 搜索关键词
"answer": True, # 开启大模型总结
"stream": False # 非流式模式
}
headers = {"Authorization": f"Bearer {API_KEY}"}
response = requests.post(url, json=payload, headers=headers)
# 确保响应是成功的
if response.status_code == 200:
# 获取JSON数据
data = response.json()
# 将JSON数据保存到文件
with open('./response.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
print("数据已保存为 response.json 文件")
else:
print(f"请求失败,状态码:{response.status_code}")
或者也可以简单的使用curl进行API的调用
curl --location 'https://api.bochaai.com/v1/ai-search' \
--header 'Authorization: Bearer sk-xxxxxxxx' \
--header 'Content-Type: application/json' \
--data '{
"query": "西瓜的功效与作用",
"freshness": "noLimit",
"answer": false,
"stream": false
}'
2.4 返回结果示例(非流式返回)
{
"code": 200,
"log_id": "1c66382f8ee339f4",
"conversation_id": "8eaad0b73cf342d299579cc3f7aa364c",
"messages": [
{
"role": "assistant",
"type": "source",
"content_type": "webpage",
"content": {
"webSearchUrl": "https://bochaai.com/search?q=西瓜的功效与作用",
"value": [
{
"name": "西瓜的功效",
"url": "https://baike.sogou.com/v66235606.htm",
"snippet": "西瓜性寒,味甘,归心、胃、膀胱经;具有清热解暑、生津止渴、利尿除烦的功效。"
}
]
}
}
]
}
2.5 启用AI智能回答
如果 answer 设为 true,API 会返回 AI 生成的答案和推荐的追问。这里是AI Search的精华所在!
{
"query": "人工智能的应用",
"answer": true
}
返回示例:
{
"messages": [
{
"role": "assistant",
"type": "answer",
"content": "人工智能的应用包括自动驾驶、医疗诊断、智能客服、金融风控等。"
},
{
"role": "assistant",
"type": "follow_up",
"content": "你是否想了解人工智能在具体行业的应用?"
}
]
}
三、核心功能解析:玩转高级搜索
3.1 多模态数据获取(模态卡)
搜索时自动识别关键词,返回结构化数据(示例):
# 示例:获取股票信息
payload = {
"query": "阿里巴巴股票",
"answer": False # 关闭大模型总结,直接返回原始数据
}
response = requests.post(url, json=payload, headers=headers)
stock_data = response.json()['messages'][-1]['content']
模态卡是指搜索引擎中,根据用户不同的搜索词,动态显示的更深层次的信息。例如当用户搜索:北京天气时返回天气卡,搜索日期时返回日历卡;
支持的模态卡类型:
更新日期 | 模态卡类型 | 模态卡内容 |
---|---|---|
2025/01/03 | weather(天气) | 国内天气、国际天气 |
2025/01/03 | baike(百科) | 百科类内容 |
2025/01/03 | medical(医疗) | 医疗权威内容 |
2025/01/03 | calendar(万年历) | 日历 |
2025/01/03 | train(火车) | 火车交通车次(含票价)、火车时刻表 |
2025/01/03 | star(星座属相) | 星座运势、属相等 |
2025/01/03 | gold(贵金属) | 金价、期货价格等 |
2025/01/03 | exchangerate(汇率) | 汇率信息 |
2025/01/03 | oil(油价) | 油价信息 |
2025/01/03 | phone(手机参数对比) | 手机参数、手机参数对比 |
2025/01/03 | stock(股票) | 股票信息 |
2025/01/03 | car(汽车) | 汽车内容,包括车型库和汽车品牌 |
3.2 流式响应处理
当使用流式响应时,会实时增量返回消息内容。即大语言模型一生成返回消息就会将消息返回给客户端。适合需要实时显示结果的场景(如聊天机器人)。
四、实战项目:构建智能问答机器人
import requests, json
from typing import Generator
class AIChatBot:
def __init__(self, api_key: str):
self.api_key = api_key
self.url = "https://api.bochaai.com/v1/ai-search"
def ask(self, question: str, stream: bool=False) -> Generator:
"""提问并获取流式响应"""
response = requests.post(
self.url,
headers={"Authorization": f"Bearer {self.api_key}"},
json={"query": question, "stream": stream},
stream=stream
)
if stream:
for line in response.iter_lines():
if line:
data = json.loads(line.decode('utf-8').lstrip('data:'))
yield data
else:
return response.json()
# 使用示例
bot = AIChatBot("sk-你的密钥")
for chunk in bot.ask("量子计算机的原理是什么?", stream=True):
if chunk.get('event') == 'message' and chunk['message']['type'] == 'answer':
print(chunk['message']['content'], end='', flush=True)
总结
通过本文,你已掌握:
- AI Search核心功能 → 2. 多模态数据解析 → 3. 流式交互实现 → 4. 完整项目实战
详细信息还可以参考官方API文档哦~