Bocha Web Search API:国内可用的SerpAPI,可以平替Bing Web Search API,Google Web Search API
为什么需要国内可用的Web Search API?
在AI对话、AI搜索、AI智能体等AI应用的开发过程中,均需要引入联网搜索API来提供实时信息来增强检索并且降低大模型的幻觉。国内开展业务需要使用内容合规、高质量的搜索API。
但 Bing Search API、Google Search API 这类 SerpAPI 均是海外服务,一方面会有国内用户数据出海的问题,另一方面搜索结果中的内容没有进行安全过滤,所以国内业务是不能使用这些海外的搜索服务的。
国内博查,为AI应用提供内容合规、价格实惠、更适合AI使用的搜索服务,数据来源和搜索结果符合国内安全规范,数据不出海,满足国内企业用户和开发者的应用场景。
博查 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,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。