票务评分代理
AGENT基于财务数据(MCP)+新闻摘要计算得分
🏗️ A2A多代理体系结构
这个项目 A2A(Agent-to-Agent)协议支持基于的多代理协作结构。
┌─────────────────────────────────────┐
│ Host Agent (클라이언트) │
│ - 여러 A2A 서버를 조율 │
│ - RemoteA2aAgent로 연결 │
└───┬────────────┬────────────┬───────┘
│ │ │
│ HTTP │ HTTP │ HTTP
│ (A2A) │ (A2A) │ (A2A)
↓ ↓ ↓
┌───────┐ ┌───────┐ ┌──────────┐
│Agent1 │ │Agent2 │ │ Ticker │
│:8001 │ │:8002 │ │ Agent │
│(서버) │ │(서버) │ │ :8083 │
│ │ │ │ │ (서버) │
└───────┘ └───────┘ └──────────┘主要概念
- 单个代理=A2A服务器:每个代理作为独立的FastAPI服务器运行,通过A2A协议进行通信。
- Host Agent=A2A客户端:Host将多台A2A服务器
RemoteA2aAgent连接到进行协调。 - 标准协议:使用JSON-RPC 2.0 over HTTP进行基于Agent Card的发现
每个A2A服务器提供以下端点:
/.well-known/agent-card.json-代理信息(发现)/(POST)-处理JSON-RPC 2.0请求
有关详细信息,请访问 docs/A2A_DEPLOYMENT.md请参考。
LangGraph工作室
|图表|聊天| |-|-| |||
A2A PoC
|图表|聊天| |-|-| |||
📚 文档
详细的文档 docs/ 请参见文件夹:
快速开始
\[!重要\] Python 3.10+是必需的。
雅虎金融MCP服务器是必需的依赖项。
您必须配置 mcp_config.json 注册您的MCP服务器。 # 1. 의존성 설치
pip install -r requirements.txt
# 2. 환경 변수 설정
cp .env.example .env
# .env 파일에 API 키 입력
# 3. MCP 설정
# mcp_config.json에 Yahoo Finance MCP 서버 경로 설정
# 4. REST API 서버 실행
uvicorn app.main:app --reload --port 8080环境变量
.env 文件 app/settings.py将在中自动加载。请至少填写以下项目。
| KEY | 必填 | 描述 |
|---|---|---|
OPENAI_API_KEY | ✅ | LangChain ChatOpenAI 调用API密钥 |
CLOVASTUDIO_API_KEY | 选择 | 使用NAVER CLOVA Studio时输入 |
MCP_CONFIG_PATH | ✅ | mcp_config.json 绝对/相对路径(./mcp_config.json 建议) |
LANGCHAIN_TRACING_V2, LANGCHAIN_API_KEY | (可选) | 使用LangSmith跟踪时 |
示例:
OPENAI_API_KEY=sk-proj-...
CLOVASTUDIO_API_KEY=nv-...
MCP_CONFIG_PATH=./mcp_config.json雅虎金融MCP服务器
分数的计算依赖于MCP服务器。 雅虎金融mcp安装后 mcp_config.json请在注册路径。
# 별도 디렉터리에서 MCP 서버 설치
git clone https://github.com/Alex2Yang97/yahoo-finance-mcp.git
cd yahoo-finance-mcp
npm install && npm run build
# 실행 경로 확인 (예: dist/index.js)项目根的 mcp_config.json 示例:
{
"mcpServers": {
"yahoo-finance": {
"command": "node",
"args": ["/abs/path/yahoo-finance-mcp/dist/index.js"],
"env": {}
}
}
}必须先运行MCP服务器。 run_once →Yahoo/DART节点正常工作。用法
# 티커 점수 조회
curl "http://localhost:8080/score?ticker=AAPL"
curl "http://localhost:8080/score?ticker=MSFT"
# 스트리밍 조회
curl "http://localhost:8080/score/stream?ticker=NVDA"响应示例
{
"ticker": "NVDA",
"score": 78,
"rationale": "AI 산업 성장 기대감과 분석가의 긍정적 평가 우세하나, 내부자 매도로 인한 경계감 상존"
}A2A协议支持
Ticker-Score-Agent支持A2A(Agent-to-Agent)协议,可以与其他代理进行通信。
特性
- 基于Google ADK:将LangGraph工作流打包为ADK Agent
- 并行操作:同时运行REST API(8080)+A2A服务器(8083)
- 多代理:通过Host Agent进行代理编排
- 标准协议:以A2A标准与其他代理通信
快速开始
# 프로젝트 루트에서 실행 (중요!)
cd /path/to/Ticker-Score-Agent
# A2A 서버 실행
uvicorn app.a2a_server:a2a_app --host 127.0.0.1 --port 8083 --reload
# Agent Card 확인
curl http://localhost:8083/.well-known/agent-card.jsongoogle-adk、a2a-server、a2a-sdk等A2A相关软件包位于顶层requirements.txt包括在中。pip install -r requirements.txt如果只运行,则不需要进行其他安装。
多代理PoC(a2a-poc/),请分别释放Agent 1/2。 a2a-poc/host/agent.py运行中的Host Agent。
可用工具
calculate_ticker_score:计算股票计分卡分数get_ticker_info:查看代理信息
