6.1 KiB
6.1 KiB
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分析报告
- 支持长文本的自动换行
配置要求
环境变量
GEMINI_API_KEY=your_gemini_api_key_here
AI模型配置
{
"model": "gemini-pro",
"temperature": 0.7,
"top_p": 0.8,
"top_k": 40,
"max_output_tokens": 8192,
"timeout": 60
}
使用流程
1. 报告生成触发
当用户请求生成股票报告时,系统会按顺序执行分析模块:
财务数据获取 → 业务信息分析 → 基本面分析 → ...
2. 业务信息分析执行
# 在报告生成器中调用
content = await self._execute_business_info_module(
report.symbol, report.market, ai_analyzer, analysis_context
)
3. 前端显示
// 在AnalysisModule组件中渲染
if (module.moduleType === "business_info") {
return renderBusinessInfoContent(module.content);
}
数据流
输入: 股票代码 + 市场 + 财务数据
↓
提示词生成 (根据市场调整)
↓
Gemini API调用 (带重试机制)
↓
响应解析 (结构化提取)
↓
质量评估 (完整度检查)
↓
数据库存储 (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调用测试
- 内容质量评估测试
- 结果保存和验证
运行测试
# 设置API密钥
export GEMINI_API_KEY=your_api_key
# 运行测试
python backend/test_business_info.py
监控和日志
日志记录
- 分析开始和完成时间
- 内容质量警告(质量分数 < 0.3)
- API调用错误和重试
- 响应验证失败
性能指标
- 分析耗时统计
- API响应时间
- 内容长度和完整度
- 错误率统计
扩展性
支持新市场
在 _build_business_info_prompt() 方法中添加新的市场上下文:
market_context = {
"中国": "中国A股市场",
"香港": "香港联交所",
"美国": "美国证券市场",
"日本": "日本证券市场",
"新市场": "新市场描述" # 添加新市场
}.get(market, market)
自定义分析维度
在提示词模板中添加新的分析章节,并在解析方法中相应更新。
多语言支持
可以根据市场参数调整提示词语言,支持英文、日文等其他语言的分析。
故障排除
常见问题
-
API密钥未配置
- 检查环境变量
GEMINI_API_KEY - 验证密钥有效性
- 检查环境变量
-
分析内容质量低
- 检查财务数据的完整性
- 调整提示词模板
- 增加重试次数
-
响应时间过长
- 调整超时设置
- 优化提示词长度
- 检查网络连接
-
内容解析失败
- 检查AI响应格式
- 更新章节提取逻辑
- 添加容错处理
调试方法
- 启用详细日志记录
- 使用测试脚本验证功能
- 检查数据库中的存储内容
- 监控API调用状态
版本历史
- v1.0: 基础业务信息分析功能
- v1.1: 添加内容质量评估
- v1.2: 增强前端显示格式
- v1.3: 优化提示词模板和错误处理