# AI业务信息分析模块实现文档 ## 概述 AI业务信息分析模块是基本面选股系统的核心组件之一,负责使用Google Gemini AI模型对股票进行全面的业务信息分析。该模块已完全实现并集成到报告生成流程中。 ## 功能特性 ### 1. 全面的业务分析 - **公司概览**: 基本信息、历史背景、市场地位 - **主营业务分析**: 核心产品服务、业务模式、收入构成 - **发展历程**: 重要里程碑、业务转型、扩张历史 - **核心团队**: 管理层背景、团队稳定性、治理结构 - **供应链分析**: 供应商客户、风险优势、依赖性分析 - **销售模式**: 销售渠道、市场策略、客户群体 - **未来展望**: 发展战略、市场机遇、面临挑战 ### 2. 智能提示词生成 - 根据不同市场(中国、香港、美国、日本)调整分析重点 - 结合财务数据提供上下文信息 - 结构化的分析框架确保内容完整性 - 明确的输出格式要求 ### 3. 内容质量评估 - 自动评估分析内容的完整度 - 计算质量分数(0-1范围) - 检查各章节的存在性和详细程度 - 提供内容统计信息 ### 4. 错误处理和重试机制 - 输入参数验证 - API调用重试机制(最多3次) - 响应内容验证 - 详细的错误信息记录 ## 技术实现 ### 后端实现 #### 核心类: `GeminiAnalyzer` 位置: `backend/app/services/ai_analyzer.py` 主要方法: - `analyze_business_info()`: 执行业务信息分析 - `_build_business_info_prompt()`: 构建分析提示词 - `_parse_business_info_response()`: 解析AI响应 - `_assess_content_quality()`: 评估内容质量 #### 集成点: `ReportGenerator` 位置: `backend/app/services/report_generator.py` - 在报告生成流程中的第3步执行 - 依赖财务数据作为输入上下文 - 结果传递给后续分析模块 ### 前端实现 #### 组件: `AnalysisModule` 位置: `frontend/src/components/AnalysisModule.tsx` 特性: - 专门的业务信息内容渲染函数 - 结构化的章节显示(带图标和边框) - 可折叠的完整分析报告 - 响应式设计和加载状态 #### 显示格式 - 每个章节独立显示,带有图标标识 - 左侧蓝色边框突出重要内容 - 可展开查看完整AI分析报告 - 支持长文本的自动换行 ## 配置要求 ### 环境变量 ```bash GEMINI_API_KEY=your_gemini_api_key_here ``` ### AI模型配置 ```python { "model": "gemini-pro", "temperature": 0.7, "top_p": 0.8, "top_k": 40, "max_output_tokens": 8192, "timeout": 60 } ``` ## 使用流程 ### 1. 报告生成触发 当用户请求生成股票报告时,系统会按顺序执行分析模块: ``` 财务数据获取 → 业务信息分析 → 基本面分析 → ... ``` ### 2. 业务信息分析执行 ```python # 在报告生成器中调用 content = await self._execute_business_info_module( report.symbol, report.market, ai_analyzer, analysis_context ) ``` ### 3. 前端显示 ```typescript // 在AnalysisModule组件中渲染 if (module.moduleType === "business_info") { return renderBusinessInfoContent(module.content); } ``` ## 数据流 ``` 输入: 股票代码 + 市场 + 财务数据 ↓ 提示词生成 (根据市场调整) ↓ Gemini API调用 (带重试机制) ↓ 响应解析 (结构化提取) ↓ 质量评估 (完整度检查) ↓ 数据库存储 (JSON格式) ↓ 前端显示 (结构化渲染) ``` ## 输出格式 ### 数据库存储格式 ```json { "company_overview": "公司概览内容...", "main_business": "主营业务分析内容...", "development_history": "发展历程内容...", "core_team": "核心团队内容...", "supply_chain": "供应链分析内容...", "sales_model": "销售模式内容...", "future_outlook": "未来展望内容...", "full_analysis": "完整AI分析报告...", "analysis_timestamp": "2024-01-01T12:00:00", "content_quality": { "word_count": 1500, "sections_found": 7, "total_sections": 7, "completeness_ratio": 1.0, "detail_level": "详细", "quality_score": 0.85 } } ``` ## 测试 ### 测试脚本 位置: `backend/test_business_info.py` 功能: - 提示词生成测试 - 实际API调用测试 - 内容质量评估测试 - 结果保存和验证 ### 运行测试 ```bash # 设置API密钥 export GEMINI_API_KEY=your_api_key # 运行测试 python backend/test_business_info.py ``` ## 监控和日志 ### 日志记录 - 分析开始和完成时间 - 内容质量警告(质量分数 < 0.3) - API调用错误和重试 - 响应验证失败 ### 性能指标 - 分析耗时统计 - API响应时间 - 内容长度和完整度 - 错误率统计 ## 扩展性 ### 支持新市场 在 `_build_business_info_prompt()` 方法中添加新的市场上下文: ```python market_context = { "中国": "中国A股市场", "香港": "香港联交所", "美国": "美国证券市场", "日本": "日本证券市场", "新市场": "新市场描述" # 添加新市场 }.get(market, market) ``` ### 自定义分析维度 在提示词模板中添加新的分析章节,并在解析方法中相应更新。 ### 多语言支持 可以根据市场参数调整提示词语言,支持英文、日文等其他语言的分析。 ## 故障排除 ### 常见问题 1. **API密钥未配置** - 检查环境变量 `GEMINI_API_KEY` - 验证密钥有效性 2. **分析内容质量低** - 检查财务数据的完整性 - 调整提示词模板 - 增加重试次数 3. **响应时间过长** - 调整超时设置 - 优化提示词长度 - 检查网络连接 4. **内容解析失败** - 检查AI响应格式 - 更新章节提取逻辑 - 添加容错处理 ### 调试方法 1. 启用详细日志记录 2. 使用测试脚本验证功能 3. 检查数据库中的存储内容 4. 监控API调用状态 ## 版本历史 - **v1.0**: 基础业务信息分析功能 - **v1.1**: 添加内容质量评估 - **v1.2**: 增强前端显示格式 - **v1.3**: 优化提示词模板和错误处理 ## 相关文档 - [AI分析服务文档](./AI_ANALYZER.md) - [报告生成器文档](./REPORT_GENERATOR.md) - [前端组件文档](../frontend/COMPONENTS.md)