#!/usr/bin/env python3 """ 指定需求分析示例 这个示例展示了如何指定分析需求,让 AI 根据需求进行针对性分析。 AI 会理解抽象的需求概念(如"健康度"),并将其转化为具体的分析指标。 使用方法: python examples/requirement_based_analysis.py 或者使用命令行: python -m src.main --data test_data/ticket_sample.csv --requirement "分析工单健康度" --output output/requirement """ import sys import os # 添加项目根目录到路径 sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from src.main import run_analysis from src.logging_config import setup_logging import logging def main(): """运行指定需求分析""" # 设置日志 setup_logging() logger = logging.getLogger(__name__) logger.info("=" * 80) logger.info("指定需求分析示例") logger.info("=" * 80) # 配置参数 data_file = "test_data/ticket_sample.csv" user_requirement = "我想了解工单的健康度,包括关闭率、处理效率、积压情况和响应及时性" output_dir = "output/requirement" logger.info(f"数据文件: {data_file}") logger.info(f"用户需求: {user_requirement}") logger.info(f"输出目录: {output_dir}") logger.info("") logger.info("分析模式: 指定需求") logger.info("AI 将:") logger.info(" 1. 理解用户的抽象需求(健康度)") logger.info(" 2. 将需求转化为具体指标") logger.info(" - 关闭率") logger.info(" - 处理效率(平均处理时长)") logger.info(" - 积压情况(待处理工单占比)") logger.info(" - 响应及时性") logger.info(" 3. 生成针对性的分析计划") logger.info(" 4. 执行分析并生成报告") logger.info("") try: # 运行分析(指定需求) report_path = run_analysis( data_file=data_file, user_requirement=user_requirement, template_file=None, output_dir=output_dir ) logger.info("") logger.info("=" * 80) logger.info("分析完成!") logger.info(f"报告已生成: {report_path}") logger.info("=" * 80) # 显示报告预览 if os.path.exists(report_path): with open(report_path, 'r', encoding='utf-8') as f: content = f.read() preview = content[:500] + "..." if len(content) > 500 else content logger.info("") logger.info("报告预览:") logger.info("-" * 80) logger.info(preview) logger.info("-" * 80) except Exception as e: logger.error(f"分析失败: {e}", exc_info=True) sys.exit(1) def example_sales_analysis(): """销售数据分析示例""" setup_logging() logger = logging.getLogger(__name__) logger.info("=" * 80) logger.info("销售数据分析示例") logger.info("=" * 80) data_file = "test_data/sales_sample.csv" user_requirement = "分析销售趋势和区域表现,识别高价值客户和畅销产品" output_dir = "output/sales_analysis" logger.info(f"数据文件: {data_file}") logger.info(f"用户需求: {user_requirement}") logger.info(f"输出目录: {output_dir}") logger.info("") try: report_path = run_analysis( data_file=data_file, user_requirement=user_requirement, template_file=None, output_dir=output_dir ) logger.info("") logger.info("=" * 80) logger.info("分析完成!") logger.info(f"报告已生成: {report_path}") logger.info("=" * 80) except Exception as e: logger.error(f"分析失败: {e}", exc_info=True) def example_user_analysis(): """用户数据分析示例""" setup_logging() logger = logging.getLogger(__name__) logger.info("=" * 80) logger.info("用户数据分析示例") logger.info("=" * 80) data_file = "test_data/user_sample.csv" user_requirement = "分析用户活跃度和订阅情况,识别流失风险用户" output_dir = "output/user_analysis" logger.info(f"数据文件: {data_file}") logger.info(f"用户需求: {user_requirement}") logger.info(f"输出目录: {output_dir}") logger.info("") try: report_path = run_analysis( data_file=data_file, user_requirement=user_requirement, template_file=None, output_dir=output_dir ) logger.info("") logger.info("=" * 80) logger.info("分析完成!") logger.info(f"报告已生成: {report_path}") logger.info("=" * 80) except Exception as e: logger.error(f"分析失败: {e}", exc_info=True) if __name__ == "__main__": # 运行主示例 main() # 取消注释以运行其他示例 # example_sales_analysis() # example_user_analysis()