首页 > 其他分享 >使用博查Web Search API获取搜索引擎的网页链接和文本摘要,给AI/RAG应用增加联网搜索功能,可平替Bing Search API、Google Search API,国内稳定可用。

使用博查Web Search API获取搜索引擎的网页链接和文本摘要,给AI/RAG应用增加联网搜索功能,可平替Bing Search API、Google Search API,国内稳定可用。

时间:2024-10-16 12:52:27浏览次数:3  
标签:Web Search AI Agent API 搜索

为什么需要Web Search API?

各类AI Native应用、RAG应用、AI Agent智能体在开发过程都会遇到联网获取互联网网页信息的需求,此时需要得到原始网页链接以及文本摘要,以用于给pipeline中的大模型作为上下文总结使用。

但目前仅国外的搜索引擎例如Bing、Google提供此类Web Search API,存在数据不安全(数据出海)、价格奇高(美元结算)、内容不安全(无符合国内要求的内容过滤)等问题,因此需要寻求和使用国内的相似服务,目前国内只有博查AI搜索提供Web Search API,搜索结果质量高(更适合AI大模型使用)且安全合规、价格实惠。

接下来试验一下博查 Web Search API的调用方式和使用效果。

产品入口网址

博查AI开放平台:https://open.bochaai.com
API开发文档:https://aq6ky2b8nql.feishu.cn/wiki/HmtOw1z6vik14Fkdu5uc9VaInBb

接口介绍

可以看到提供Web Search API、AI Search API、Agent Search API接口,分别提供近百亿网页内容搜索、大厂生态内容搜索、专业领域内容搜索,我们本篇只使用Web Search API即可。
在这里插入图片描述

获取API-KEY

前往 https://open.bochaai.com,微信扫码登陆后,在首页点击右上角的 “AP KEY管理”,创建API KEY,复制出来即可。
在这里插入图片描述

接口参数

在Web Search API接口文档https://aq6ky2b8nql.feishu.cn/wiki/RXEOw02rFiwzGSkd9mUcqoeAnNK中可以看到支持设置搜索的时间范围(一天内、一周内、一个月内、一年内、不限)和是否显示长文本摘要(Summary)。

请求参数

EndPoint:https://api.bochaai.com/v1/web-search
请求方式:POST
请求头(Header):
在这里插入图片描述
请求体(JSON方式):
在这里插入图片描述

注意:这里是 JSON 请求方式,而不是 Params 方式。具体示例可以看下方的示例代码。

响应格式

响应格式兼容Bing Search API,如果之前使用的是Bing,可以非常简单的切换,响应内容有网页、图片和视频。

示例代码
curl
curl --location 'https://api.bochaai.com/v1/web-search' \
--header 'Authorization: Bearer YOUR-API-KEY' \
--header 'Content-Type: application/json' \
--data '{
    "query": "什么是Multi Agent架构",
    "freshness": "oneYear",
    "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())

效果测试

分别测试一些搜索词,看看效果。比如一天内、一周内、一个月内、一年内以及历史内容怎么样。注意调整查询的时间范围,只要更改freshness参数值即可。

一天内:东部战区联合利剑-2024B演习

在这里插入图片描述

一周内:什么是同球共济

在这里插入图片描述

一年内:阿里巴巴2024年的ESG报告在这里插入图片描述

测试结论

整体试了下,响应速度、搜索结果质量都相当不错,符合作者AI Agent应用场景的需求。

内容丰富性

  1. 搜索结果质量高:结果准确性和文本摘要质量都可以,适合AI应用使用
  2. 内容源丰富:与国内一线搜索引擎不相上下,当然他们都不提供这种API的
  3. 内容合规:服务器部署在国内,数据是按国内要求做过合规处理的
  4. 生态内容:AI Search API和 Agent Search API还提供更多内容的搜索,本期作者还没来得及测试,大家可以自行试试。
  • 新闻类:头条新闻
  • 视频类:抖音(竖版视频)、西瓜(横版视频)
  • 生活类:机票、火车票、景点、酒店、餐厅
  • 知识类:百科、文库、学术
  • 商业类:企业搜索

技术亮点

  1. Multi-Agent 架构:多Agent协作完成搜索,专业领域的搜索词由相应智能体完成
  2. 向量索引+语义搜索:向量化索引,能识别搜索意图与召回结果的语义相关性。
  3. 语义排序:bocha-semantic-reranker:一种新的语义排序算法,在关键字和向量化混合搜索并得到BM25-ranked结果和RRF-ranked结果之后,抽取top-N利用语义信息对候选结果进行再次排序,并按和query语义相关性进行输出,显著提升搜索结果相关性。

价格

价格仅为Bing Web Search的三分之一。

标签:Web,Search,AI,Agent,API,搜索
From: https://blog.csdn.net/cxk19980802/article/details/142914215

相关文章

  • DevEco Studio:支持使用预览器的API清单
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(MaoistLearning)➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/......
  • Elasticsearch
    ElasticsearchES是一个可以实现复杂搜索的全文检索服务器一、安装1.安装Elasticsearch指定分配521m内存,可以改为256m,安装完成访问9200端口测试dockerrun-d\--namees\-e"ES_JAVA_OPTS=-Xms512m-Xmx512m"\-e"discovery.type=single-node"\-ves-data:/us......
  • Web组态数据联动
    1.通过get/post获取设备列表信息2.websocket连接mqtt服务器,接收json报文信息3.通过Alpine进行数据联动4.封装svg对象,更新属性值 index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewpo......
  • exchange2016,关闭用户mapi后如何使用anywhere连接
    exchange2016,关闭用户mapi后如何使用anywhere连接问题:在管理控制台关闭了某个用户的mapi,1、如何让用户的outlook使用anywhere连接?2、exchange2016默认情况下,mapi/http优先级总是高于rpc/http?是否可以更改优先级?答案:在这里有两个概念  MAPI  mapioverHTTP    ......
  • 凯中故障6:Outlook无法连接到Exchange Server(MAPI模式)
    凯中故障6:Outlook无法连接到ExchangeServer(MAPI模式)问题现象:组织中有一个邮箱账户无法连接至exchange(MAPI)模式,其他邮箱账户正常。尝试在outlook”发送/接收“菜单点击”更新文件夹“出现下图报错:我做了一些尝试:1.使用Foxmail的exchange模式连接exchangeserver一切正常2.......
  • elasticsearch之倒排索引
    倒排索引elasticsearch有如此高的搜索性能,无异于使用了倒排索引。倒排索引中有两个重要的概念:文档(Document):用来搜索的数据,其中的每一条数据就是一个文档。例如一个网页、一个商品信息词条(Term):对文档数据或用户搜索数据,利用某种算法分词,得到的具备含义的词语就是词条。例如:我......
  • 一个基于若依的超级漂亮的博客系统,可用于所有Web应用(带私活源码)
     今天分享的开源项目是:RuoYiBlog-一个基于若依的超级漂亮的博客系统 。一、项目介绍     如果你一直想做一个博客平台,看过许多优秀的开源项目,但没有找到合适的,那么今天可以参考这个项目。作者利用业余时间把若依后台管理和pb-cms结合起来,在自己的参考中开发了一......
  • 【web服务】耗时任务基于API与worker模式
    场景:当我们爬虫或者获取数据需要很长的时间计算或者等待,这种情况情况下基于API与worker模式完成交付1.API端:用flask框架importjsonimportuuidimportredisfromflaskimportFlask,request,jsonifyapp=Flask(__name__)pool=redis.ConnectionPool(host='127.0.0......
  • Elasticsearch(一)
    ES相关概念对比MySQLElasticsearch(ES):用于数据存储、计算和搜索安装ES:ES是部署在Linux操作系统下的,可以通过Docker去部署:首先引入ES的镜像,可以官网下载或者用dockerpull拉取镜像可以执行该命令,注意es版本dockerrun-d\--namees\-e"ES_JAVA_OPTS=-Xms512m-Xmx512......
  • ElasticSearch的倒排索引和相关概念与MySQL的对比
    ElasticSearch的倒排索引和相关概念在用关系型数据库时,一些频繁用作查询条件的字段我们都会去建立索引来提升查询效率。在关系型数据库中,我们一般都采用B树索引进行存储,所以B树索引也是我们接触比较多的一种索引数据结构,但是在使用过程中,我们发现无法使用关系型数据库进行类......