StockMCP 股知助手
将Yahoo Finance API与LLaMA 3.2 3B集成,使用户能够在保持模型原有功能的同时,获取实时股票价格、公司信息、历史数据和市场新闻。
服务介绍
Yahoo Finance 模型上下文协议 (MCP) 用于 LLaMA 3.2 3B
此仓库包含一个模型上下文协议 (MCP) 实现,该实现将 Yahoo Finance API 与 LLaMA 3.2 3B 集成在一起。MCP 允许模型在保留 LLaMA 所有常规功能的同时检索实时金融数据、股票信息和市场新闻。
特性
- 在 LLaMA 3.2 3B 中直接获取实时股票价格
- 检索详细的公司信息(行业、市场资本等)
- 获取具有可定制时间段和间隔的历史股票数据
- 获取最新的市场新闻头条
- 无缝增强 LLaMA 的能力而不干扰非金融查询
要求
- Python 3.8+
- Ollama - 用于本地运行 LLaMA 3.2 3B
- 通过 Ollama 拉取的 LLaMA 3.2 3B 模型
- Python 包:
- ollama
- yfinance
- requests
- pandas
安装
-
从 https://ollama.ai/ 安装 Ollama
-
使用 Ollama 拉取 LLaMA 3.2 3B 模型:
ollama pull llama3.2:3b -
克隆此仓库:
git clone <repository-url> cd mcp_yahoo_finance -
安装所需的 Python 依赖项:
pip install -r requirements.txt
使用
运行带有 Ollama 集成的 MCP
要通过 Ollama 使用 Yahoo Finance MCP 与 LLaMA 3.2 3B:
python mcp_ollama_integration.py
这将启动一个交互会话,在其中您可以:
- 提出财务问题,这些问题将通过 Yahoo Finance 数据进行丰富
- 提出任何其他问题,这些问题将由 LLaMA 3.2 3B 正常处理
示例查询
财务查询(通过 Yahoo Finance 数据增强)
- "苹果股票当前的价格是多少?"
- "告诉我特斯拉公司的信息"
- "微软股票在过去一个月的表现如何?"
- "最新的市场新闻头条是什么?"
- "亚马逊的52周最高价是多少?"
- "Nvidia 属于哪个行业?"
- "标普500指数今年表现如何?"
非财务查询(由 LLaMA 正常处理)
- "法国的首都是什么?"
- "解释量子计算"
- "写一首关于秋天的诗"
- "什么是勾股定理?"
使用不同的 LLaMA 模型
您可以通过 --model 参数指定不同的模型:
python mcp_ollama_integration.py --model llama3.2:8b
工作原理
- MCP 分析每个用户查询以确定其是否与财务相关
- 对于财务查询,它:
- 识别相关的财务函数调用(价格、信息、历史、新闻)
- 通过 MCP 调用 Yahoo Finance API
- 格式化实时数据并将其作为上下文提供给 LLaMA 3.2 3B
- LLaMA 3.2 3B 结合财务数据提供自然响应
- 对于非财务查询,它直接传递给 LLaMA 3.2 3B 而不做任何修改
这种方法无缝地增强了 LLaMA 的能力,并结合了实时财务数据,同时保留了其所有原始功能。
高级使用
直接 API 函数
如果你想在代码中直接使用Yahoo Finance MCP函数:
from yahoo_finance_mcp import YahooFinanceMCP
# Initialize the MCP
mcp = YahooFinanceMCP()
# Get stock price
price_data = mcp.execute_function("get_stock_price", {"symbol": "AAPL"})
# Get company information
company_data = mcp.execute_function("get_stock_info", {"symbol": "TSLA"})
# Get historical data
history_data = mcp.execute_function("get_stock_history", {"symbol": "MSFT", "period": "1mo"})
# Get market news
news_data = mcp.execute_function("get_market_news", {"limit": 5})
故障排除
- "连接Ollama时出错":请确保Ollama已安装并正在运行
- 找不到公司:尝试使用官方的股票代码而不是公司名称
- 找不到LLaMA 3.2 3B模型:运行
ollama pull llama3.2:3b来下载模型
致谢
本项目使用yfinance库来获取Yahoo Finance数据,并使用Ollama在本地运行LLaMA 3.2 3B。