使用说明
市场查询人工智能(或“市场智能查询”)
一个利用人工智能查询金融市场的精美网页应用。该应用基于Polygon.io MCP服务器、Claude 4和Pydantic AI构建。
特点/功能
- 使用Claude 4进行AI驱动的财务分析
- 📊 来自Polygon.io的实时市场数据
- 💬 支持WebSocket的交互式聊天界面
- 🎨 现代风格,受Polygon.io启发的用户界面设计
- 🚀 准备就绪,即将在铁路系统中部署
技术栈
- 后端FastAPI + Python 3.11
- 人工智能通过Pydantic AI的Anthropic Claude 4 Sonnet
- 数据Polygon.io MCP 服务器
- 前端纯JavaScript + WebSockets
- 造型采用现代设计的自定义CSS
先决条件
- Python 3.10+
- Anthropic API密钥
- Polygon.io API密钥
本地开发
-
克隆仓库
cd ~/Projects/mcp/market-query-app -
创建一个虚拟环境
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
安装依赖项
pip install -r requirements.txt -
设置环境变量
复制
.env.example到.env并添加您的API密钥:cp .env.example .env编辑
.env带着你的钥匙:ANTHROPIC_API_KEY=your_key_here POLYGON_API_KEY=your_key_here PORT=8000 -
运行应用程序
python app.py或者使用 uvicorn:
uvicorn app:app --reload --host 0.0.0.0 --port 8000 -
在浏览器中打开
导航至
http://localhost:8000
铁路部署
-
安装铁路命令行界面(CLI)
npm install -g @railway/cli -
登录铁路系统
railway login -
初始化项目
cd ~/Projects/mcp/market-query-app railway init -
设置环境变量
railway variables set ANTHROPIC_API_KEY=your_key_here railway variables set POLYGON_API_KEY=your_key_here -
部署
railway up
使用示例
试着问一些这样的问题:
- “特斯拉的最新价格是多少?”
- “比较苹果和微软过去一年的表现”
- “根据最新新闻,了解市场对NVIDIA的市场情绪”
- “从今天回顾五年前,看看微软的投资总回报是多少。”
- “考虑在Meta、亚马逊和谷歌之间进行投资。基于回报率、收益、最新消息以及市场情绪,哪一个是最值得投资的选择?”
项目结构
market-query-app/
├── app.py # FastAPI application with WebSocket support
├── requirements.txt # Python dependencies
├── .env # Environment variables (not in git)
├── .env.example # Example environment variables
├── railway.json # Railway configuration
├── Procfile # Process file for deployment
├── runtime.txt # Python version specification
├── README.md # This file
├── static/
│ ├── css/
│ │ └── style.css # Modern UI styling
│ └── js/
│ └── app.js # WebSocket client logic
└── templates/
└── index.html # Main HTML template
详细特性
基于人工智能的分析
- 使用Claude 4 Sonnet进行高级推理
- 将复杂查询分解为逻辑子任务
- 提供结构化的、使用Markdown格式的回复
实时数据
- 访问Polygon.io的机构级市场数据
- 股票价格、历史数据、新闻等
- 自动处理股票拆分和调整
现代用户界面(Modern UI)
- 受Polygon.io设计语言的启发
- 专为金融数据优化的深色主题
- 适用于移动设备和桌面的响应式设计
- 实时状态指示器
- 流畅的动画和过渡效果
WebSocket通信
- 实时双向通信
- 查询处理过程中的实时状态更新
- 断开连接后自动重连
- 上下文感知对话的消息历史
环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
ANTHROPIC_API_KEY 您的Anthropic API密钥(用于Claude 4) |
是 | |
POLYGON_API_KEY 您的 Polygon.io API 密钥 |
是 | |
PORT |
运行服务器的端口 | 否(默认:8000) |
故障排除
WebSocket 连接问题
- 确保您的防火墙允许WebSocket连接
- 检查PORT环境变量是否与您的服务器配置相匹配
- 对于铁路部署,请确保域已正确配置
API速率限制
- Polygon.io免费套餐有速率限制
- 考虑升级您的生产使用计划
- 如有需要,请实现缓存功能
MCP服务器问题
- 确保
uvx已安装(附带uv) - 检查Polygon.io MCP服务器版本是否兼容
- 检查日志中的特定错误信息
许可证
MIT 许可证 - 欢迎您出于个人目的自由使用此项目。
免责声明
这个工具提供由人工智能生成的财务分析。在做出投资决策前,请务必核实信息。其输出结果可能并不总是准确,不应被视为财务建议。
功劳;学分;报酬
- 使用……构建 Polygon.io(注:这个名称在中文中通常直接保留原样,不进行翻译,但如果要解释其含义,可以理解为“多边形信息平台”或“多边形数据网”,具体取决于上下文和该平台的实际功能。在此处,为了保持专业性和准确性,直接保留原名称。)
- 由……提供动力/支持 Anthropic的Claude 4
- 使用 Pydantic AI(注:这里“Pydantic”是一个用于数据验证和设置的Python库名,保持原样;“AI”代表人工智能,翻译为“人工智能”,但在此上下文中,若“Pydantic AI”作为一个专有名词或项目名,也可直接保留原样)
- 受……的启发 Polygon.io MCP 服务器教程