Skip to content

moseshu/multi-agents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Multi-Agent Data Analysis System

一个基于OpenAI Agents框架的多智能体数据分析系统,能够自动解析文档、分析数据、生成图表和报告。

🌟 功能特性

  • 📄 智能文档解析: 支持PDF、Excel、Word文档的自动解析
  • 🧠 AI驱动分析: 使用大语言模型进行数据结构化提取和洞察分析
  • 📊 自动图表生成: 根据数据特征自动生成折线图、柱状图、饼图等可视化图表
  • 📑 多格式报告: 生成Word、PDF、HTML格式的专业分析报告
  • 🔄 多Agent协作: 各专业Agent协同工作,提供端到端的分析流程

🏗️ 系统架构

系统采用多Agent架构设计:

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Data Parser   │───▶│ Data Analysis   │───▶│ Chart Generator │
│     Agent       │    │     Agent       │    │     Agent       │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                                                        │
┌─────────────────┐    ┌─────────────────┐            │
│ Report Generator│◀───│   Orchestrator  │◀───────────┘
│     Agent       │    │                 │
└─────────────────┘    └─────────────────┘

Agent职责

  1. Data Parser Agent: 解析PDF/Excel/Word文档,提取文本和表格数据
  2. Data Analysis Agent: 使用LLM分析数据,进行结构化提取和洞察挖掘
  3. Chart Generation Agent: 根据数据特征生成各类可视化图表
  4. Report Generation Agent: 整合分析结果,生成专业格式报告
  5. Orchestrator: 协调各Agent的工作流程,管理整体分析pipeline

🚀 快速开始

环境要求

  • Python 3.9+
  • OpenAI API密钥

安装依赖

# 克隆项目
cd /workspace/multi_agent_data_analysis

# 安装依赖
pip install -r requirements.txt

配置环境变量

# 设置OpenAI API密钥
export OPENAI_API_KEY="your-api-key-here"

启动系统

# 启动Web应用
python run.py

# 或者直接运行
python -m uvicorn main:app --host 0.0.0.0 --port 8000 --reload

访问 http://localhost:8000 使用Web界面

测试功能

# 测试分析功能
python run.py test

📖 使用方法

Web界面使用

  1. 访问 http://localhost:8000
  2. 点击"Choose Files"上传PDF/Excel/Word文档
  3. 点击"Start Analysis"开始分析
  4. 等待分析完成,下载生成的报告

API使用

import asyncio
from orchestrator import DataAnalysisOrchestrator

async def analyze_files():
    orchestrator = DataAnalysisOrchestrator()
    
    # 分析指定文件
    result = await orchestrator.analyze_single_file("path/to/your/file.pdf")
    
    if result["success"]:
        print("分析完成!")
        print(f"报告路径: {result['reports']['data']}")
    else:
        print(f"分析失败: {result['error']}")

# 运行分析
asyncio.run(analyze_files())

📁 项目结构

multi_agent_data_analysis/
├── agents/                 # Agent实现
│   ├── data_parser_agent.py
│   ├── data_analysis_agent.py  
│   ├── chart_generation_agent.py
│   └── report_generation_agent.py
├── tools/                  # 工具类
│   ├── file_parser.py
│   ├── chart_generator.py
│   └── report_generator.py
├── models/                 # 数据模型
│   └── data_models.py
├── uploads/               # 上传文件目录
├── outputs/               # 输出文件目录
├── static/                # 静态文件
├── orchestrator.py        # Agent编排器
├── main.py               # FastAPI主应用
├── run.py                # 启动脚本
├── requirements.txt      # 依赖列表
└── README.md            # 项目说明

🔧 API接口

上传文件

POST /upload
Content-Type: multipart/form-data

files: File[]

开始分析

POST /analyze
Content-Type: application/json

{
  "file_paths": ["path1", "path2"]
}

获取状态

GET /status

下载文件

GET /download/{filename}

📊 支持的文件格式

  • PDF: .pdf - 提取文本和表格数据
  • Excel: .xlsx, .xls, .csv - 解析工作表和数据
  • Word: .docx, .doc - 提取文档内容和表格

📈 生成的图表类型

  • 柱状图: 适合分类数据比较
  • 折线图: 适合趋势和时间序列分析
  • 饼图: 适合比例和构成分析
  • 散点图: 适合相关性分析
  • 直方图: 适合数据分布分析

📄 报告格式

  • Word文档: .docx - 可编辑的专业报告
  • PDF文档: .pdf - 便于分享的固定格式报告
  • HTML页面: .html - 可在浏览器中查看的交互式报告

🛠️ 技术栈

  • 框架: OpenAI Agents SDK, FastAPI
  • 数据处理: pandas, numpy
  • 文档解析: PyMuPDF, python-docx, openpyxl
  • 图表生成: matplotlib, seaborn, plotly
  • 报告生成: reportlab, jinja2
  • Web界面: HTML5, CSS3, JavaScript

🤝 贡献指南

  1. Fork项目
  2. 创建特性分支
  3. 提交更改
  4. 推送到分支
  5. 创建Pull Request

📝 许可证

MIT License

📞 支持

如有问题或建议,请提交Issue或联系开发团队。


Multi-Agent Data Analysis System - 让数据分析更智能、更高效!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages