返回市场
塔维利-A2A代理

塔维利-A2A代理

作者:Major-wagh2 星标更新:2025-06-28

项目介绍

🧠 Tavily-A2A-Agent

Tavily-A2A-Agent 是一个使用 LangGraph 框架构建的 AI 代理,利用代理到代理(A2A)通信以及通过 Tavily MCP 服务器提供的高级搜索功能。它展示了自主代理如何通过无缝集成实时网络搜索来协作。

🔍 主要特性

  • 基于 LangGraph 的多代理架构:使用 LangGraph 框架构建复杂且可控的代理工作流程。
  • 代理到代理协议(A2A):使代理能够以模块化和可扩展的方式协作、委派任务并交换结果。
  • Tavily MCP 集成:配备有 Tavily 搜索、提取、映射和爬取工具,提供实时的、AI 优化的网络搜索和数据提取。
  • 动态工具使用:代理根据任务需求自动决定何时进行搜索、提取或分析,从而实现深入且适应性强的工作流。

🚀 为什么重要

  • Tavily 的搜索 API 专门为 LLM 和代理设计,提供适合研究或推理任务的 AI 友好型、引用丰富的结果。
  • 当与 LangGraph 结合时,后者支持结构化规划、工具调用、状态管理和代理协作,这个代理展示了如何构建真正智能的、连接网络的系统。

📓 先决条件

  • Python 3.12 或更高版本
  • UV - Python 包管理器
  • Gemini API 密钥
  • Tavily API 密钥

🛠️ 安装说明

要安装项目,请按照以下步骤操作:

在项目目录中创建一个 .env 文件,内容如下

GOOGLE_API_KEY="<您的-Gemini-密钥>"
TAVILY_API_KEY="<您的-Tavily-密钥>"
git clone https://github.com/Major-wagh/tavily-a2a-agent.git
cd tavily-a2a-agent
# 如果未创建 .env 文件
export GOOGLE_API_KEY="<您的-Gemini-密钥>"
export TAVILY_API_KEY="<您的-Tavily-密钥>"

uv run .

🚀 使用说明

方案 1:使用 A2A 主机代理

您可以使用 A2A 主机 CLI 测试 Tavily 代理:

# 如果尚未克隆 A2A 示例,请先执行此操作
git clone https://github.com/a2aproject/a2a-samples.git

cd a2a-samples/samples/python/hosts/cli/
# 运行 CLI
uv run . --agent http://localhost:10000

这将启动一个交互式 CLI,连接到您的 Tavily 代理服务器。

方案 2:使用直接 HTTP 请求

您也可以使用 curl 或任何 HTTP 客户端进行测试:

curl -X POST http://localhost:10000/ \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "message/send",
  "params": {
    "message": {
      "role": "user",
      "parts": [
        {
          "kind": "text",
          "text": "克里斯蒂亚诺·罗纳尔多是谁?"
        }
      ],
      "messageId": "728bc428-5769-4dd6-a97a-96ba42b450b3"
    },
    "metadata": {}
  }
}'

🤝 贡献指南

要为项目做出贡献,请遵循以下步骤:

  1. 分叉仓库。
  2. 创建一个新的分支。
  3. 进行更改。
  4. 提交拉取请求。

📄 许可证信息

本项目采用 MIT 许可证。