成功注册Google的SerpAPI实现AI Agent的tool

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 Prometheus 版,每月50GB免费额度
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 成功注册Google的SerpAPI实现AI Agent的tool

成功注册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搜索结果,为我们的测试工作提供了极大的便利。掌握好这个工具,你的测试用例将更加全面和精准。

目录
相关文章
|
16天前
|
人工智能 API C#
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
|
2月前
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
76 3
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
|
2月前
|
机器人 Shell Linux
【Azure Bot Service】部署Python ChatBot代码到App Service中
本文介绍了使用Python编写的ChatBot在部署到Azure App Service时遇到的问题及解决方案。主要问题是应用启动失败,错误信息为“Failed to find attribute 'app' in 'app'”。解决步骤包括:1) 修改`app.py`文件,添加`init_func`函数;2) 配置`config.py`,添加与Azure Bot Service认证相关的配置项;3) 设置App Service的启动命令为`python3 -m aiohttp.web -H 0.0.0.0 -P 8000 app:init_func`。
|
4月前
|
JavaScript 开发工具 开发者
【认知服务 Azure Cognitive Service】使用Azure Search中Create an Demo的示例时,出现空白页面的问题
【认知服务 Azure Cognitive Service】使用Azure Search中Create an Demo的示例时,出现空白页面的问题
|
7月前
|
XML 人工智能 JSON
[译][AI OpenAI-doc] 代码解释器 Beta
代码解释器允许助手在受限执行环境中编写和运行 Python 代码。该工具可以处理具有不同数据和格式的文件,并生成带有数据和图形图像的文件。
162 17
|
7月前
|
存储 人工智能 测试技术
[译][AI OpenAI-doc] 批处理 API
了解如何使用 OpenAI 的批处理 API 发送异步请求组,其成本降低 50%,具有一个独立的更高速率限制池,并提供明确的 24 小时完成时间。该服务非常适合处理不需要即时响应的作业。您也可以直接在这里查看 API 参考。
|
7月前
|
人工智能 API 开发工具
[译][AI OpenAI-doc] 函数调用 Beta
类似于聊天完成 API,助手 API 支持函数调用。函数调用允许您描述函数给助手 API,并让它智能地返回需要调用的函数及其参数。
|
7月前
|
人工智能 JavaScript API
[译][AI OpenAI-doc] 助手 API Beta
助手 API 允许你在自己的应用程序中构建 AI 助手。助手具有指令,并可以利用模型、工具和文件来响应用户的查询。目前,助手 API 支持三种类型的工具:代码解释器、文件搜索和函数调用。
|
7月前
|
缓存 IDE Java
应用研发平台EMAS中classpath 'com.aliyun.ams:alicloud-android-networkmonitor-plugin:1.3.0-open'这个一直下载不成功,这个需要怎么处理?
应用研发平台EMAS中classpath 'com.aliyun.ams:alicloud-android-networkmonitor-plugin:1.3.0-open'这个一直下载不成功,这个需要怎么处理?
109 1
|
分布式计算 Apache Spark
《Yelp Ad Targeting at Scale with Apache Spark》电子版地址
Yelp Ad Targeting at Scale with Apache Spark
72 0
《Yelp Ad Targeting at Scale with Apache Spark》电子版地址