网络搜索代理

基于Google ADK和Bright Data MCP构建的网络搜索代理,能够根据用户查询搜索网络并检索信息。

  • by sandovalmedeiros
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sandovalmedeiros/mcp_adk

使用说明

使用Google ADK和Bright Data MCP的Web搜索代理

此存储库包含一个使用Google的代理开发工具包(ADK)和Bright Data的模型上下文协议(MCP)构建的web搜索代理。代理可以搜索网络并根据用户查询检索信息。

先决条件

  • Python 3.12或更高版本
  • Node.js和npm(用于Bright Data MCP)
  • Google Gemini API密钥
  • 具有活动Web Unblocker API区域的Bright Data帐户(对于浏览器功能,还需要废弃浏览器区域)

安装

1.克隆存储库

git clone https://github.com/MeirKaD/MCP_ADK.git
cd MCP_ADK

2.创建并激活虚拟环境

# For macOS/Linux
python -m venv .venv
source .venv/bin/activate

# For Windows
python -m venv .venv
.venv\Scripts\activate

3.安装所需的软件包

pip install google-adk google-generativeai python-dotenv

4.安装Bright Data MCP软件包

npm install -g @brightdata/mcp

5.设置环境变量

创建一个 .env 通过复制根目录中的文件 .env.template:

cp .env.template .env

然后,编辑 .env 文件并添加您的Google Gemini API密钥:

GOOGLE_GENAI_USE_VERTEXAI="False"
GOOGLE_API_KEY="YOUR_GEMINI_API_KEY"

6.配置Bright Data MCP凭据

编辑 web_search_agent/agent.py 将占位符归档并替换为您的Bright Data凭据:

"API_TOKEN": "YOUR_BRIGHT_DATA_API_TOKEN",
"WEB_UNLOCKER_ZONE": "unblocker",
"BROWSER_AUTH": "brd-customer-YOUR_CUSTOMER_ID-zone-scraping_browser:YOUR_PASSWORD"

使用ADK Web界面运行代理

1.启动ADK Web服务器

adk web

这将启动本地web服务器,通常在 http://localhost:8000.

2.访问Web界面

打开浏览器并导航到 http://localhost:8000 通过ADK web界面与您的代理进行交互。

代理人如何工作

该代理使用谷歌的代理开发工具包(ADK)构建,并使用Gemini 2.0 Flash作为底层模型。它利用Bright Data的模型上下文协议(MCP)执行网络搜索并从网站检索信息。

代理在收到第一个请求时异步初始化MCP工具集,连接到Bright Data的服务以启用web搜索功能。

特性

  • 使用Bright Data MCP进行网络搜索
  • 从网站检索信息
  • 根据网络内容回答问题
  • 代理终止时自动清理资源

定制

您可以通过修改以下内容来自定义代理的行为 web_search_agent/agent.py 文件:

  • 通过更新来更改模型 model 参数
  • 修改代理的描述和说明
  • 添加其他工具或功能

故障排除

如果您遇到问题:

  1. 确保您的Google Gemini API密钥有效
  2. 检查您的Bright Data凭据
  3. 验证Node.js和npm是否已正确安装
  4. 确保你有正确的Python版本和所有必需的包

许可证

麻省理工学院

致谢

  • 谷歌代理开发工具包(ADK)
  • 明亮数据MCP