AI提效
搜索问答机器人
S
大模型本地知识库时效性和专业性不足的问题。
T
Chat模型+谷歌搜索API
A
流程图
前置准备
大模型的API调用需API Key;
谷歌搜索的API调用需API Key;
获取可编程搜索引擎CSE;
RESTful风格API调用与
import requests
# Step 1.构建请求
url = "https://www.googleapis.com/customsearch/v1"
# Step 2.设置查询参数
params = {
'q': search_term, # 搜索关键词
'key': google_search_key, # 谷歌搜索API Key
'cx': cse_id # CSE ID
}
# Step 3.发送GET请求
response = requests.get(url, params=params)
# Step 4.解析响应
data = response.json()
解读谷歌搜索API返回的结果
在默认情况下,谷歌搜索会返回10个结果(num=10),且保存在Json对象的items关键词中:这里的items对象是由一系列字典所组成的list,其中每个字典都代表一个搜索结果。
我们具体查看其中返回的第一个结果:data['items'][0]
能够发现,每个搜索结果则包括网页标题(title)、地址(link)和网页内容摘要(snippet)等信息。从返回结果来看,搜索OpenAI关键词第一个返回的结果就是OpenAI官网,而第二个返回的结果则是ChatGPT网址。
谷歌搜索API返回的结果实际上是网址而非具体的信息,若要将具体的信息输入到Chat模型中,还需要将网址内的核心信息爬取并输入到模型中去,因此,围绕搜索返回的结果,我们重点提取网页标题(title)、地址(link)和网页内容摘要(snippet)三项信息即可。
借助爬虫爬取相关网站内容
搜索引擎API只能返回与搜索关键词最为匹配的网站连接,而要获取这些连接内容,则需要更进一步使用爬虫对这些网站内容进行爬取。
未完