forked from zhanggangyong/agent_management
2.6 KiB
2.6 KiB
Pydantic AI Agents
使用 Pydantic AI 创建的两个示例 Agent:天气查询 Agent 和搜索 Agent。
安装依赖
# 激活虚拟环境
source .venv/bin/activate
# 安装依赖
pip install -r requirements.txt
1. 天气查询 Agent
配置 API Key(可选)
如果要使用真实的天气 API(OpenWeatherMap),需要设置环境变量:
export WEATHER_API_KEY=your_api_key_here
获取免费 API Key:https://openweathermap.org/api
如果不设置 API Key,Agent 会返回模拟数据用于演示。
运行
python weather_agent.py
使用方式
Agent 支持以下类型的查询:
- "北京今天的天气怎么样?"
- "请查询上海的天气"
- "What's the weather in Tokyo?"
Agent 会自动调用天气查询工具,获取并返回天气信息。
2. 搜索 Agent(A2A 模式)
配置
搜索 Agent 使用以下服务:
-
LiteLLM 服务器(已配置在代码中):
- 服务器地址:
https://litellm.graystone-fb459c5d.southeastasia.azurecontainerapps.io/v1 - API Key:已内置在代码中
- 模型:
taiji/gpt-4o-mini
也可以通过环境变量自定义:
export OPENAI_BASE_URL=https://your-litellm-server.com/v1 export OPENAI_API_KEY=your_litellm_api_key export LITELLM_MODEL=your_model_name - 服务器地址:
-
Serper.dev 搜索 API(已内置在代码中):
export SERPER_API_KEY=your_api_key_here # 可选,代码中已有默认值
运行
python search_agent.py
功能特性
- 搜索 Agent:直接执行网络搜索,返回结构化搜索结果
- 协调 Agent(A2A 模式):接收用户查询,委托搜索 Agent 执行搜索,并整理结果返回给用户
使用方式
Agent 支持以下类型的查询:
- "苹果公司最新新闻"
- "Python 异步编程最佳实践"
- "What is machine learning?"
- "请帮我搜索人工智能的最新发展"
A2A(Agent-to-Agent)通信
搜索 Agent 演示了 A2A 通信模式:
- 协调 Agent 接收用户查询
- 协调 Agent 调用搜索工具(内部使用搜索 Agent)
- 搜索工具 返回结果给协调 Agent
- 协调 Agent 整理并返回给用户
这种模式允许多个 Agent 协作完成复杂任务。
测试结果
运行 python search_agent.py 后,Agent 会:
- 连接到 LiteLLM 服务器
- 使用 serper.dev API 执行网络搜索
- 整合搜索结果并返回给用户
- 展示 A2A 通信流程
测试输出显示 Agent 成功调用了搜索工具,并能够处理中英文查询。