【硬核教程】博查AI Search API实战:全网搜索+智能问答+多模态卡片一键集成!AI时代的搜索引擎!


前言

在现在这个人工智能时代,你还在用传统的搜索吗?你还在为找到自己感兴趣的内容不断更换关键词吗?你还在一个网页一个网页的查找自己想要的信息吗?太慢了!!!
今天给大家分享一个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 APIAI Search API
基础搜索✅ 网页/图片✅ 网页/图片/视频(需SDK)
结构化数据(模态卡)✅ 天气/百科/医疗/股票等15+类型
大模型生成答案✅ 自动总结+追问问题推荐
流式响应✅ 支持实时流式输出
单次返回最大结果数50条50条
适用场景简单信息检索智能问答/知识聚合/多模态交互

简单的说: Web Search可以作为你RAG模型的一环,下游你需要自己搭建一个模型来处理搜索返回的内容,但是AI Search可以全面优化你的使用体验,降低你的使用难度!

一句话总结
AI Search = Web Search + 多模态数据 + 大模型智能处理 + 流式交互!

二、快速上手:5行代码调用AI Search API

2.1 前期准备(步骤同Web Search)

  1. 获取API Key

前往博查AI开放平台 → API Key管理 → 创建新Key(具体步骤可以参考文章【手把手教学】用Python玩转博查AI Web Search API!全网搜索一键搞定!

  1. 安装依赖
pip install requests

2.2 怎么用?

  1. 发送请求

    API 采用 POST 请求方式,传输 JSON 数据。

  2. 请求头

    请求时需要加上一些必要的信息:

{
  "Authorization": "Bearer {你的API_KEY}",
  "Content-Type": "application/json"
}
  • Authorization:你的身份认证,格式:Bearer API Key

  • Content-Type:固定填 application/json,可以不填

  1. 请求参数
参数类型必填说明
queryString你要搜索的内容
freshnessString限定搜索时间(oneDay、oneWeek、oneMonth、oneYear、noLimit),默认为noLimit
countInt搜索返回的结果数量,默认10,最多50
answerBoolean是否用大模型总结(默认true)
streamBoolean是否流式返回(默认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/03weather(天气)国内天气、国际天气
2025/01/03baike(百科)百科类内容
2025/01/03medical(医疗)医疗权威内容
2025/01/03calendar(万年历)日历
2025/01/03train(火车)火车交通车次(含票价)、火车时刻表
2025/01/03star(星座属相)星座运势、属相等
2025/01/03gold(贵金属)金价、期货价格等
2025/01/03exchangerate(汇率)汇率信息
2025/01/03oil(油价)油价信息
2025/01/03phone(手机参数对比)手机参数、手机参数对比
2025/01/03stock(股票)股票信息
2025/01/03car(汽车)汽车内容,包括车型库和汽车品牌

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)

总结

通过本文,你已掌握:

  1. AI Search核心功能 → 2. 多模态数据解析 → 3. 流式交互实现 → 4. 完整项目实战

详细信息还可以参考官方API文档哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值