AI代理协作工具

基于LangGraph框架和Tavily搜索能力的AI代理协作工具,支持多代理通信和实时网络搜索集成。

  • by Major-wagh
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Major-wagh/tavily-a2a-agent

使用说明

🧠 Tavily-A2A-代理

Tavily-A2A-Agent是一个基于LangGraph框架构建的AI代理,通过Tavily MCP服务器利用Agent到Agent(A2A)通信和Tavily的高级搜索功能。它展示了自主代理如何使用无缝集成到其工作流程中的实时网络搜索进行协作。

🔍 主要特点

  • 基于LangGraph的多代理架构:使用LangGraph框架构建复杂、可控的代理工作流。

  • 代理到代理协议(A2A):使代理能够以模块化和可扩展的方式进行协作、委派任务和交换结果。

  • Tavily MCP集成:配备Tavily搜索、提取、地图和抓取工具,提供实时、人工智能优化的网络搜索和数据提取。

  • 动态工具使用:代理根据任务要求自动决定何时搜索、提取或分析,从而实现深度和适应性强的工作流程

🚀 为什么重要

  • Tavily的搜索API是专门为LLM和代理构建的,提供有利于人工智能的、引用丰富的结果,非常适合研究或推理任务。

  • 当与支持结构化规划、工具调用、状态管理和代理协作的LangGraph结合使用时,该代理展示了如何构建真正智能的网络连接系统。

📓 先决条件

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

🛠️ 安装说明

要安装项目,请执行以下步骤:

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

GOOGLE_API_KEY="<Your-Gemini-key>"
TAVILY_API_KEY="<Your-Tavily-key>"
git clone https://github.com/Major-wagh/tavily-a2a-agent.git
cd tavily-a2a-agent
# if .env file is not created
export GOOGLE_API_KEY="<Your-Gemini-key>"
export TAVILY_API_KEY="<Your-Tavily-key>"

uv run .

🚀 使用说明

选项1:使用A2A主机代理

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

# Clone the A2A samples if you haven't already
git clone https://github.com/a2aproject/a2a-samples.git

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

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

选项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": "Who is Cristiano Ronaldo?"
        }
      ],
      "messageId": "728bc428-5769-4dd6-a97a-96ba42b450b3"
    },
    "metadata": {}
  }
}'

🤝 贡献指南

要为项目做出贡献,请执行以下步骤:

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

📄 许可证信息

该项目根据MIT许可证获得许可。