Bocha Web Search API:国内可用的SerpAPI,可以平替Bing Web Search API,Google Web Search API

06-01 1160阅读

为什么需要国内可用的Web Search API?

在AI对话、AI搜索、AI智能体等AI应用的开发过程中,均需要引入联网搜索API来提供实时信息来增强检索并且降低大模型的幻觉。国内开展业务需要使用内容合规、高质量的搜索API。

但 Bing Search API、Google Search API 这类 SerpAPI 均是海外服务,一方面会有国内用户数据出海的问题,另一方面搜索结果中的内容没有进行安全过滤,所以国内业务是不能使用这些海外的搜索服务的。

国内博查,为AI应用提供内容合规、价格实惠、更适合AI使用的搜索服务,数据来源和搜索结果符合国内安全规范,数据不出海,满足国内企业用户和开发者的应用场景。

博查 Web Search API 搜索结果效果示例

Bocha Web Search API:国内可用的SerpAPI,可以平替Bing Web Search API,Google Web Search API

详细介绍可以看我上一篇文章:使用博查Web Search API获取搜索引擎的网页链接和文本摘要,给AI/RAG应用增加联网搜索功能

为什么说是适合AI使用的搜索服务?

传统搜索引擎的Search API 或 SerpAPI 只提供网页的snippet,他们大多少于50字,并不适合AI来理解原文内容进行使用。因此针对AI或LLM使用的搜索引擎应该能够返回与用户搜索问题最相关的较长文本。

使用方式

可以通过博查官网API、大模型工具调用等方式来使用,非常便捷。

前往 博查AI开放平台 https://open.bochaai.com,微信扫码登陆后,在首页点击右上角的 “API KEY管理”,创建API KEY,复制出来即可。

官方API调用示例代码

curl
curl --location 'https://api.bochaai.com/v1/web-search' \
--header 'Authorization: Bearer YOUR-API-KEY' \
--header 'Content-Type: application/json' \
--data '{
    "query": "东部战区联合利剑-2024B演习",
    "freshness": "oneDay",
    "summary": true,
    "count": 8
}'
Python
import requests
import json
url = "https://api.bochaai.com/v1/web-search"
payload = json.dumps({
  "query": "什么是Multi Agent架构",
  "freshness": "oneYear",
  "summary": True,
  "count": 8
})
headers = {
  'Authorization': 'Bearer YOUR-API-KEY',
  'Content-Type': 'application/json',
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.json())

大模型 Function Call 调用示例代码

import requests
from langchain.agents import initialize_agent, Tool, AgentType
from langchain_openai import ChatOpenAI
from langchain.tools import tool
OPENAI_API_KEY = "YOUR OPENAI API KEY"
BOCHA_API_KEY = "YOUR BOCHA API KEY"
# 定义Bocha Web Search工具
@tool
def bocha_web_search_tool(query: str, count: int = 8) -> str:
    """
    使用Bocha Web Search API进行联网搜索,返回搜索结果的字符串。
    
    参数:
    - query: 搜索关键词
    - count: 返回的搜索结果数量
    返回:
    - 搜索结果的字符串形式
    """
    url = 'https://api.bochaai.com/v1/web-search'
    headers = {
        'Authorization': f'Bearer {BOCHA_API_KEY}',  # 请替换为你的API密钥
        'Content-Type': 'application/json'
    }
    data = {
        "query": query,
        "freshness": "noLimit", # 搜索的时间范围,例如 "oneDay", "oneWeek", "oneMonth", "oneYear", "noLimit"
        "summary": True, # 是否返回长文本摘要总结
        "count": count
    }
    response = requests.post(url, headers=headers, json=data)
    if response.status_code == 200:
        # 返回给大模型的格式化的搜索结果文本
        # 可以自己对博查的搜索结果进行自定义处理
        return str(response.json())
    else:
        raise Exception(f"API请求失败,状态码: {response.status_code}, 错误信息: {response.text}")
# 创建LangChain工具
bocha_tool = Tool(
    name="BochaWebSearch",
    func=bocha_web_search_tool,
    description="使用Bocha Web Search API进行网络搜索"
)
# 初始化OpenAI语言模型
llm = ChatOpenAI(
    model="gpt-4o-mini",
    temperature=0,
    openai_api_key=OPENAI_API_KEY
)
# 初始化代理,设置Agent自动决定何时调用工具
tools = [bocha_tool]  # 包含你定义的Bocha Web Search工具
agent = initialize_agent(
    tools=tools,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    llm=llm,
    verbose=False
)
# 测试用例
query = "阿里巴巴2024年的ESG报告主要讲了哪些内容?"
response = agent.run(f"请帮我搜索以下内容:{query}")
print(response)
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码