Skip to main content
Glama
KennanYang

Financial Report Generator MCP Server

by KennanYang
ollama_integration_guide.md6.21 kB
# Ollama deepseek-r1 集成指南 ## 概述 本指南将帮助您将本地部署的deepseek-r1模型集成到财务报告生成项目中。 ## 前置条件 ### 1. 安装Ollama 1. 访问 [Ollama官网](https://ollama.ai) 2. 下载适合您操作系统的安装包 3. 安装Ollama ### 2. 安装deepseek-r1模型 ```bash # 安装deepseek-r1模型 ollama pull deepseek-r1 ``` ### 3. 启动Ollama服务 ```bash # 启动Ollama服务 ollama serve ``` ## 快速开始 ### 1. 测试集成 运行测试脚本检查集成是否正常: ```bash python test_ollama_integration.py ``` ### 2. 运行AI演示 ```bash python ai_demo_with_ollama.py ``` ### 3. 使用启动脚本 ```bash python start_ollama_demo.py ``` ## 配置说明 ### Ollama配置 配置文件位置:`config/ollama_config.yaml` ```yaml ollama: service: base_url: "http://localhost:11434" timeout: 120 retry_attempts: 3 default_model: "deepseek-r1" models: deepseek-r1: name: "deepseek-r1" description: "DeepSeek R1 模型" temperature: 0.7 max_tokens: 2048 system_prompt: "你是一个专业的财务分析师,擅长分析公司财务状况和投资价值。" ``` ### 代码集成 #### 1. 初始化AI工具 ```python from mcp_server.tools.ai_enhanced_report_generator import AIEnhancedReportGenerator # 使用Ollama ai_tool = AIEnhancedReportGenerator( ollama_url="http://localhost:11434", ollama_model="deepseek-r1", use_ollama=True ) ``` #### 2. 使用AI功能 ```python # AI公司分析 result = await ai_tool.call_tool(CallToolRequest( method="tools/call", params={ "name": "ai_analyze_company", "arguments": { "symbol": "NVDA", "analysis_type": "comprehensive" } } )) # AI报告生成 result = await ai_tool.call_tool(CallToolRequest( method="tools/call", params={ "name": "ai_generate_report", "arguments": { "symbol": "AAPL", "report_style": "professional" } } )) # AI投资建议 result = await ai_tool.call_tool(CallToolRequest( method="tools/call", params={ "name": "ai_investment_advice", "arguments": { "symbol": "MSFT", "investment_horizon": "long_term" } } )) ``` ## 功能特性 ### 1. AI公司分析 - **功能**: 使用AI分析公司财务状况和投资价值 - **支持的分析类型**: financial, investment, risk, comprehensive - **输出**: 详细的财务分析和投资价值评估 ### 2. AI报告生成 - **功能**: 使用AI生成智能财务报告 - **支持的风格**: professional, simple, detailed - **输出**: 结构化的财务报告 ### 3. AI投资建议 - **功能**: 使用AI提供投资建议 - **支持的投资期限**: short_term, medium_term, long_term - **输出**: 投资建议和风险评估 ## 故障排除 ### 1. Ollama服务不可用 **症状**: 连接失败或超时 **解决方案**: 1. 检查Ollama服务是否运行:`ollama serve` 2. 检查端口11434是否被占用 3. 检查防火墙设置 ### 2. 模型未找到 **症状**: 模型不存在或无法加载 **解决方案**: 1. 检查模型是否已安装:`ollama list` 2. 重新安装模型:`ollama pull deepseek-r1` 3. 检查模型名称是否正确 ### 3. 响应速度慢 **症状**: AI响应时间过长 **解决方案**: 1. 检查系统资源使用情况 2. 调整模型参数(temperature, max_tokens) 3. 考虑使用更小的模型 ### 4. 内存不足 **症状**: 模型加载失败或崩溃 **解决方案**: 1. 检查可用内存 2. 关闭其他占用内存的程序 3. 考虑使用更小的模型 ## 性能优化 ### 1. 模型参数调优 ```python # 调整温度和最大token数 ai_tool = AIEnhancedReportGenerator( ollama_url="http://localhost:11434", ollama_model="deepseek-r1", use_ollama=True ) # 在调用时指定参数 response = await ai_tool._call_ai_model( prompt=prompt, system_prompt=system_prompt, temperature=0.5, # 降低温度提高一致性 max_tokens=1024 # 减少token数提高速度 ) ``` ### 2. 缓存机制 ```python # 实现简单的缓存机制 import hashlib import json class CachedAIEnhancedReportGenerator(AIEnhancedReportGenerator): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.cache = {} async def _call_ai_model(self, prompt: str, system_prompt: str = "") -> str: # 生成缓存键 cache_key = hashlib.md5( f"{prompt}:{system_prompt}".encode() ).hexdigest() # 检查缓存 if cache_key in self.cache: return self.cache[cache_key] # 调用AI模型 response = await super()._call_ai_model(prompt, system_prompt) # 保存到缓存 self.cache[cache_key] = response return response ``` ## 扩展功能 ### 1. 支持更多模型 ```python # 支持多个模型 models = { "deepseek-r1": "deepseek-r1", "llama3.1-8b": "llama3.1-8b", "qwen2.5-7b": "qwen2.5-7b" } # 根据需求选择模型 selected_model = models.get(model_name, "deepseek-r1") ai_tool = AIEnhancedReportGenerator( ollama_url="http://localhost:11434", ollama_model=selected_model, use_ollama=True ) ``` ### 2. 批量处理 ```python # 批量处理多个公司 companies = ["NVDA", "AAPL", "MSFT", "GOOGL"] results = [] for symbol in companies: result = await ai_tool.call_tool(CallToolRequest( method="tools/call", params={ "name": "ai_analyze_company", "arguments": { "symbol": symbol, "analysis_type": "comprehensive" } } )) results.append(result) ``` ## 总结 通过本指南,您已经成功将Ollama deepseek-r1模型集成到财务报告生成项目中。这个集成提供了: 1. **本地AI能力**: 无需外部API密钥 2. **智能分析**: AI驱动的财务分析 3. **灵活配置**: 支持多种模型和参数 4. **易于使用**: 简单的API接口 如果您在使用过程中遇到任何问题,请参考故障排除部分或查看项目文档。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KennanYang/financial-report'

If you have feedback or need assistance with the MCP directory API, please join our Discord server