【手把手教学】用Python玩转博查AI Web Search API!全网搜索一键搞定!


前言

随着人工智能(AI)的发展,人们也在生活中接触到各种各样的大模型,比如今年爆火的DeepSeek,或是开启大模型元年的ChatGPT。但是在使用的过程中,我们会发现,大模型是有知识库的,而且知识库的截止时间往往很早,我们无法从大模型中获取到一些时效性很强的内容,比如说我想知道今天的天气,大模型就无法回答,或者是回答一些乱七八糟的内容,也就是大模型幻觉。

那么这个问题促进了检索增强生成(RAG)技术的发展,RAG技术是先将用户提出的问题在自己的知识库内进行检索,然后根据检索到的信息再进行回答, 因此RAG模型往往会比普通的大模型拥有更准确,更有时效性的答案。可能有人会问,都是知识库,为什么使用RAG的模型的知识库会更准确呢?

因为RAG模型的知识库是由我们指定的,如果我想问一个医学上的问题,我可以提供给这个大模型一个只有若干医学文档的知识库,让模型从这里面检索,答案自然准确很多。那怎么增强时效性呢?我们可以让模型先去网络上搜索相关的内容,然后将搜索到的内容作为知识库来生成答案。这就是大模型的联网搜索功能。那么怎么实现搜索的功能呢?

今天就给大家带来一个超实用的技术教程——如何用Python快速调用博查AI的Web Search API!这个接口能让你轻松搜索全网网页和图片信息,还能自动生成摘要,让你的模型更加准确和具有时效性,简直是AI开发者的福音!话不多说,直接上干货!


一、前期准备:API Key获取

1.1 注册博查AI开放平台

  1. 访问博查AI开放平台
  2. 注册/登录账号(支持手机号或邮箱)
    在这里插入图片描述

1.2 创建API Key

  1. 登录后进入 「API Key 管理」
    在这里插入图片描述

  2. 点击 「创建 API Key」 生成密钥(形如sk-xxxxxx
    在这里插入图片描述

  3. 妥善保存,后续代码中会用到!

二、快速上手:Python调用实战

2.1 安装依赖库

在命令行安装下面的库,用来发送请求和获取内容

pip install requests

2.2 基础代码模板

代码如下(示例):

import requests
import json

# 填写你的API Key
API_KEY = "sk-你的密钥"

# 请求配置
url = "https://api.bochaai.com/v1/web-search"
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}
payload = {
    "query": "天空为什么是蓝色的?",  # 搜索关键词
    "summary": True,               # 显示摘要
    "count": 5,                    # 返回5条结果
    "page": 1                      # 第一页
}

# 发送请求
response = requests.post(url, headers=headers, data=json.dumps(payload))

# 解析结果
if response.status_code == 200:
    results = response.json()
    print("搜索成功!结果如下:")
    for item in results["data"]["webPages"]["value"]:
        print(f"标题:{item['name']}")
        print(f"链接:{item['url']}")
        print(f"摘要:{item['snippet']}\n")
else:
    print(f"请求失败!错误码:{response.status_code}, 详情:{response.text}")

这样就可以接收到返回的内容啦!下面是接收到的部分返回内容:
在这里插入图片描述
我们可以看到返回值里面是会对搜索到的网页进行摘要总结的,这样可以让RAG模型更快得到重要信息。一定要记得把请求体参数里面的 summary 参数设为 True哦,不然可能会没有返回的内容。

三、参数详解:玩转高级搜索

3.1 时间范围过滤

想找最新资讯?试试freshness参数:

payload = {
    "query": "AI最新技术",
    "freshness": "oneWeek"  # 一周内的结果
    "summary": True,               # 显示摘要
    "count": 5,                    # 返回5条结果
    "page": 1   
}

可选值:oneDay(一天内)、oneWeek(一周内)、oneMonth(一个月内)、oneYear(一年内)、noLimit(默认不限)
ps:一般 noLimit 的效果最好哦。

3.2 返回更多结果

使用count参数:

payload = {
    "query": "AI最新技术",
    "summary": True,               # 显示摘要
    "count": 50,                    # 返回50条结果
    "page": 1   
}

count值越高,搜索返回的网页数越多哦,但是实际返回结果数量可能会小于count指定的数量,最大单次搜索返回50条。

四、结果解析:提取关键信息

4.1 网页结果字段说明

字段说明示例值
name网页标题“Python入门教程”
url原始链接“https://www.example.com/python”
snippet网页内容的简短描述“本文详细讲解Python基础语法…”
summary长摘要(需开启summary)“Python是一种解释型语言…”

4.2 结果说明

除了网页文本外,其实Web Search还会返回包括网页、图片还有其他Response格式的内容,同时还兼容Bing Search API。

五、完整项目示例:搜索并保存结果

import requests
import csv

def search_and_save(query, filename="results.csv"):
    API_KEY = "sk-你的密钥"
    url = "https://api.bochaai.com/v1/web-search"
    headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
    payload = {"query": query, "count": 10}

    response = requests.post(url, headers=headers, json=payload)
    
    if response.status_code == 200:
        data = response.json()["data"]["webPages"]["value"]
        with open(filename, "w", newline="", encoding="utf-8") as f:
            writer = csv.writer(f)
            writer.writerow(["标题", "链接", "摘要"])
            for item in data:
                writer.writerow([item["name"], item["url"], item["snippet"]])
        print(f"结果已保存至{filename}!")
    else:
        print("搜索失败!")

# 使用示例
search_and_save("深度学习框架对比")

总结

通过这篇教程,你已经掌握了:

  1. API Key获取 → 2. 基础搜索调用 → 3. 高级参数配置 → 4. 结果解析与保存

赶紧动手试试吧!如果遇到问题,欢迎在评论区留言讨论~ 后续还会更新更多AI接口实战教程,关注我不迷路! 🚀

### 如何搜索全网相关文献 为了高效地找与特定主题相关的所有文献,可以采用多种方法和技术手段。以下是几种常见的策略: #### 使用专门的学术搜索引擎 一些专业的学术搜索引擎能够帮助快速定位到目标领域内的高质量文献。例如,秘塔AI是一款强大的联网搜索工具,它支持中文和英文文献的询,并且覆盖范围广泛,从早期关于宇宙加速膨胀的研究(如1988年的发现[^2]),一直到最近几年的新成果(比如2023年提出的暗物质与暗能量模型)。通过这类平台,用户可以根据关键词轻松找到大量关联资料。 #### 借助开放存取资源站点 对于希望获取全文而无需支付费用的情况,则可考虑利用像Sci-Hub这样的服务。该网站允许使用者仅需提供文章DOI号即可实现大多数付费墙后的期刊论文下载功能[^1]。尽管存在版权争议,但在某些情况下确实为研究者提供了便利途径来访问原本受限的内容。 #### 编写自动化脚本抓取数据 当手动检索无法满足需求时,还可以尝试编写Python程序自动收集所需信息。下面给出了一段示范代码片段用于记录每条匹配项的关键属性: ```python res = f"{count}\t{title}\t{authors}\t{institute}\t{date}\t{source}\t{database}\t{keywords}\t{abstract}\t{url}".replace("\n","")+"\n" ``` 此行代码展示了如何将多个字段组合成单一字符串以便后续处理或存储操作[^3]。实际应用过程中可能还需要加入网络请求库(如`requests`)、HTML解析器(如BeautifulSoup)以及其他必要的组件才能完成整个流程开发工作。 总之,在面对海量互联网上的潜在参考资料时,综合利用上述提到的各种技术和工具有助于更全面深入地了解某一专题下的现有研究成果及其发展趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值