📈 基于LangGraph的股票分析代理
这个仓库记录了构建一个可投入生产的(系统/应用)的过程 股票分析代理 该系统能够获取实时金融数据,进行分析,并通过(某种接口)与Claude Desktop集成 模型上下文协议(MCP)。\ 这项工作从探索性笔记本开始,最终成果是可部署的 MCP服务器 在……之下;低于 stock-agent-mcp/。
______________________________________________________________________
📂 项目结构
stock-analysis-agent-langgraph/
├─ .env.example # Example env vars for root
├─ README.md # This README
│
├─ docs/ # Screenshots & traces from LangSmith runs
│
├─ 1_simple_graph.ipynb # Basics of LangGraph state graphs
├─ 2_graph_with_condition.ipynb # Adding conditional flows
├─ 3_chatbot.ipynb # Simple chatbot agent
├─ 4_tool_call.ipynb # Demonstrates calling external tools
├─ 5_tool_call_agent.ipynb # Agent with tool orchestration
├─ 6_memory.ipynb # LangGraph agent with memory
├─ 7_langsmith.ipynb # Integration with LangSmith tracing
├─ 8_HITL.py # Human-in-the-loop example in Python
├─ 9_agent_real_time_stock_price.ipynb # Final stock analysis agent with tools
│
└─ stock-agent-mcp/ # Production-ready MCP server
├─ .env.example # Example env for server
├─ README.md # Server-specific README
├─ server.py # MCP server entrypoint
├─ docs/ # Demo media for MCP server
└─ src/
└─ langgraph_agent/
└─ tools.py # Tool definitions (stock price, earnings, etc.)______________________________________________________________________
✨ 主要特点
- LangGraph 工具编排
- Alpha Vantage API 用于财务数据(价格、收益、公司概况、历史数据)
- 双子座大型语言模型(Gemini LLM) 用于推理/编排(
langchain-google-genai) - LangSmith 追踪(添加环境变量后自动工作)
- HITL(Human-in-the-Loop) 敏感操作的示例
- MCP服务器 Claude Desktop的集成
______________________________________________________________________
🧭 架构(笔记本9 – 最终代理)
flowchart LR
U["User Query"] --> LLM["Gemini 2.0 Flash
(LangGraph Orchestrator)"]
LLM --> T["Tools
(search_ticker, overview, earnings, realtime, history)"]
T --> AV["Alpha Vantage API"]
AV -- JSON --> T --> LLM --> A["Final Answer"]
%% Observability
LS["LangSmith Tracing (optional)"]
LLM -.-> LS
T -.-> LS______________________________________________________________________
🛠️ 技术栈
- Gemini API (通过
langchain-google-genai) - Alpha Vantage(阿尔法优势) (财务数据)
- LangSmith (可选追踪)
- 模型上下文协议(MCP)
- 环境与包装(含)
uv
______________________________________________________________________
📸 Trace的快照
追踪解释: 这个快照展示了代理如何逐步处理查询——从大型语言模型(LLM)的推理,到调用工具,最终生成答案。
______________________________________________________________________
⚡ 设置
前提条件:Python 3.12+, uv 安装的- 克隆并进入仓库
git clone https://github.com/neelagarwal98/stock-analysis-agent-langgraph.git
cd stock-analysis-agent-langgraph- 安装依赖项(根工作区)
uv sync- 配置环境变量\
根目录和服务器各自提供了一个单独的示例文件:
- Root(词根/根源/根源性的) 复制
.env.example→.env(笔记本电脑使用) - 服务器: 复制
stock-agent-mcp/.env.example→stock-agent-mcp/.env
填入你已有的密钥:
# Common (used across notebooks / server)
ALPHAVANTAGE_API_KEY=...
ALPHA_VANTAGE_BASE_URL=https://www.alphavantage.co/query
GEMINI_API_KEY=...
# Optional (enables tracing automatically if set)
LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
LANGSMITH_API_KEY=...
LANGSMITH_PROJECT=
- 运行笔记本(以root身份)
uv run jupyter lab______________________________________________________________________
📬 接下来该去哪里看
- 服务器详情、运行方法及演示媒体:\
______________________________________________________________________
📝 许可证
这个项目根据以下所述条款获得许可: 许可证。
