成功注册Google的SerpAPI实现AI Agent的tool
最近研究AI Agent,发现需要serper api进行让AI Agent可以搜索网页,但是发现怎么搜都找不到正经注册的地方,因此把自己的注册经历记录一下。
聊聊一个非常实用的工具——Google的Serper API,也就是SerpAPI。在进行AI Agent的开发的时候,SerpAPI是一个非常常用的tool,让我们一起来看看它都有哪些本事。
1. API 简介
SerpApi 是一个专门针对Google搜索结果页面(SERP)的API服务。通过这个API,我们可以获取到Google搜索的各种数据,包括但不限于搜索结果、位置、时间等信息。
2. 核心功能
- 搜索结果获取:获取Google搜索的有机结果。
- 结构化数据:提供搜索结果的结构化数据,方便解析和分析。
- 多语言支持:支持多种语言的搜索结果获取。
3. 技术优势
- 实时性:API请求会即时运行,无需等待,获取最新的搜索结果。
- 全球定位:可以指定地理位置获取特定地区的搜索结果。
- 多设备支持:模拟不同设备的搜索结果,如桌面、平板、手机等。
4. 数据格式
返回的数据通常以JSON格式提供,这种格式易于解析,非常适合自动化测试和数据分析。
5. 测试用例设计要点
- 参数有效性:测试不同的查询参数组合,确保API能够正确处理。
- 结果验证:验证返回的搜索结果是否与预期一致。
- 性能评估:测试API的响应时间和稳定性。
- 异常测试:模拟网络延迟、错误的API密钥等异常情况。
6. 示例代码
google-search-results 是一个 Python 包,它提供了对 Google 搜索结果的访问。这个包允许用户通过 Python 代码直接获取 Google 搜索结果,而不需要手动进行搜索或解析网页。它通过 SerpApi(一个实时 Google 搜索结果的 API)来实现这一功能。
https://serper.dev/可以注册一个账号,免费提供2500次的接口调用,那么对于尝试AI Agent已经足够用了。注册完成后,将其配置到.env环境变量的文件中,然后使用crewAI的实现AI Agent,通过Tool 调用SerpAPI,代码如下。
import warnings
warnings.filterwarnings("ignore")
from dotenv import load_dotenv, find_dotenv
import os
_=load_dotenv(find_dotenv())
api_base = os.getenv("OPENAI_API_BASE")
model_name=os.getenv("OPENAI_MODEL_NAME")
api_key=os.getenv("OPENAI_API_KEY")
serper_api_key = os.getenv("SERPER_API_KEY")
os.environ["OPENAI_API_KEY"] = api_key
os.environ["OPENAI_API_BASE"]=api_base
os.environ["OPENAI_MODEL_NAME"]=model_name
os.environ["SERPER_API_KEY"]=serper_api_key
from crewai import Agent, Task, Crew
from crewai_tools import SerperDevTool
research_agent = Agent(
role='Researcher',
goal='Find and summarize the latest AI news',
backstory="""You're a researcher at a large company.
You're responsible for analyzing data and providing insights
to the business.""",
verbose=False
)
search_tool = SerperDevTool()
task = Task(
description='Find and summarize the latest AI news',
expected_output='A bullet list summary of the top 5 most important AI news',
agent=research_agent,
tools=[search_tool]
)
crew = Crew(
agents=[research_agent],
tasks=[task],
verbose=2
)
result = crew.kickoff()
print(result)
同时在官方的dashboard中可以看到用量。
7. 总结
SerpApi 是一个强大的工具,它能够帮助我们深入理解Google搜索结果,为我们的测试工作提供了极大的便利。掌握好这个工具,你的测试用例将更加全面和精准。