Skip to content

cordonarson-gif/Math-Setup

Repository files navigation

🏆 MCM-Agent 多场景数学建模智能体

基于 ChatGPT + DeepSeek 双模型协同,支持 电工杯、国赛、美赛、亚太杯 四大竞赛场景的全流程数学建模论文自动生成系统。

功能特性

  • 🤖 双模型协同:ChatGPT 负责问题分析/模型设计/论文写作,DeepSeek 负责代码实现/数据处理/全网检索
  • ⚡ 4大竞赛场景:电工杯 / 全国数学建模竞赛(国赛)/ 美赛(MCM/ICM)/ 亚太杯,每个场景独立配置
  • 🌏 亚太杯中/英双语:亚太杯支持中文赛项和英文赛项自由切换
  • 🇺🇸 美赛全英文输出:论文、图表标签、参考文献全部英文,符合 MCM/ICM 规范
  • 🔎 全网检索:通过秘塔AI搜索实时检索参考资料和学术论文
  • 📄 一键全流程:输入赛题后一键自动生成完整论文,后台运行不阻塞
  • ✅ 格式审查:自动格式检查 → 自动修复 → LLM语义审查 → 最终确认
  • 📊 智能图表:ChatGPT 规划图表方案 + DeepSeek 生成专业科研图表
  • 🖥️ 桌面应用:支持打包为 Windows exe,双击即用,无需安装环境
  • 🔄 后台任务:全流程任务可在后台持续运行,切换页面后返回继续查看进度

Agent 场景配置

Agent 竞赛 语言 论文格式 特殊规则
⚡ 电工杯-Agent 电工杯 中文 GB/T 7714 25页以内
📊 数模-Agent 全国数学建模竞赛 中文 GB/T 7714 20页以内,必须含附录
🇺🇸 美赛-Agent MCM/ICM 英文 IEEE 全英文论文/图表
🌏 亚太杯-Agent 亚太地区 中/英 GB/T 7714 或 IEEE 中文赛项/英文赛项可选

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置 API Key

.env 文件中填入你的 API Key:

# OpenAI API(ChatGPT,可使用中转站)
OPENAI_API_KEY=your_key_here
OPENAI_BASE_URL=https://your-proxy.com/v1
OPENAI_MODEL=gpt-4o

# DeepSeek API
DEEPSEEK_API_KEY=your_key_here
DEEPSEEK_BASE_URL=https://api.deepseek.com/v1
DEEPSEEK_MODEL=deepseek-chat

# 秘塔AI搜索 API(可选)
METASO_API_KEY=your_key_here

3. 启动桌面应用

# 启动桌面版(推荐)
python desktop_app.py

桌面版基于 Vue 3 + FastAPI + pywebview,自动启动后端服务并打开原生窗口。

桌面应用(exe 打包)

开发调试

# 构建前端
cd frontend && npm install && npm run build

# 启动桌面应用
cd .. && python desktop_app.py

一键打包为 .exe

# Windows
build.bat

打包产物位于 dist/MCM-Agent/MCM-Agent.exe,将整个 dist/MCM-Agent 目录压缩后发送给其他人,对方解压双击即可运行,无需安装 Python 或 Node.js

使用指南

首页选择 Agent

打开应用后,在首页选择竞赛场景 Agent(电工杯/国赛/美赛/亚太杯),输入项目名称,点击「✨ 开始建模」。

亚太杯 Agent 额外提供 🇨🇳中文赛项 / 🇺🇸英文赛项 选择。

分步模式

  1. 📝 输入赛题:粘贴文本或上传 PDF/Word 文件
  2. 📎 上传资料:支持数据文件、图片、附件
  3. 🔍 问题分析:ChatGPT 自动分析赛题
  4. 🔎 资料检索:DeepSeek 全网搜索
  5. 📊 数据获取:自动解析数据文件/搜索数据集/生成模拟数据
  6. 🧮 模型建立:ChatGPT 设计数学模型
  7. 💻 代码实现:DeepSeek 生成代码 + 智能图表
  8. 📄 论文写作:ChatGPT 根据 Agent 配置撰写论文
  9. ✅ 质量检查:格式自动检查与优化
  10. 📥 导出论文:生成 Word / PDF / Markdown

一键全流程

点击侧边栏「🚀 一键全流程」,自动执行所有阶段。任务在后台持续运行,可以切换到其他页面,返回后继续查看进度。

自由对话

在聊天区域直接向智能体提问,获取建模建议。

项目结构

Math-Setup/
├── desktop_app.py               # 桌面应用入口
├── build.bat                    # 一键打包脚本
├── mcm_agent.spec               # PyInstaller 打包配置
├── config.py                    # 全局配置
├── .env                         # API Key 配置
├── requirements.txt             # Python 依赖
│
├── agents/                      # Agent 核心模块
│   ├── agent_configs.py         # Agent 配置中心(4个竞赛场景)
│   ├── orchestrator.py          # 双模型协同调度器
│   ├── chatgpt_agent.py         # ChatGPT Agent
│   ├── deepseek_agent.py        # DeepSeek Agent
│   └── prompts/                 # 提示词模板
│       ├── system_prompts.py    # 系统提示词
│       ├── analysis_prompts.py  # 问题分析
│       ├── modeling_prompts.py  # 模型建立
│       ├── writing_prompts.py   # 论文写作
│       ├── review_prompts.py    # 格式审查/优化
│       ├── revision_prompts.py  # 修订提示词
│       └── data_prompts.py      # 数据获取
│
├── backend/                     # FastAPI 后端
│   ├── main.py                  # FastAPI 入口
│   ├── database.py              # SQLite 数据库
│   ├── models.py                # ORM 模型
│   ├── routers/                 # API 路由
│   │   ├── project_router.py    # 项目管理
│   │   ├── chat_router.py       # 对话接口
│   │   ├── ws_router.py         # WebSocket 实时通信
│   │   ├── upload_router.py     # 文件上传
│   │   ├── data_router.py       # 数据获取
│   │   ├── review_router.py     # 评价修改
│   │   ├── export_router.py     # 论文导出
│   │   └── config_router.py     # 配置管理
│   └── static/                  # 前端构建产物
│
├── frontend/                    # Vue 3 + Vite 前端
│   └── src/
│       ├── pages/
│       │   ├── Home.vue         # 首页(Agent 选择)
│       │   ├── Project.vue      # 项目工作台
│       │   ├── Pipeline.vue     # 全流程页面
│       │   ├── History.vue      # 历史项目
│       │   └── Settings.vue     # 设置页面
│       ├── stores/
│       │   └── pipelineStore.ts # 全局 Pipeline 状态管理
│       ├── apis/
│       │   └── project.ts       # API 接口封装
│       ├── router/index.ts      # 路由配置
│       └── App.vue              # 根组件
│
├── services/                    # 外部服务
│   ├── llm_service.py           # LLM API 调用
│   ├── search_service.py        # 搜索引擎 API
│   ├── chart_service.py         # 图表生成
│   ├── data_acquisition_service.py  # 数据获取(四级回退)
│   ├── data_analysis_service.py # 数据分析
│   ├── file_processor_service.py # 文件处理
│   └── image_gen_service.py     # 图片生成
│
├── paper/                       # 论文生成与格式检查
│   ├── docx_generator.py        # Word 生成
│   ├── latex_generator.py       # LaTeX 生成
│   ├── pdf_generator.py         # PDF 生成
│   ├── paper_engine.py          # 论文引擎
│   ├── format_checker.py        # 格式检查引擎
│   └── format_optimizer.py      # 格式优化器
│
├── knowledge/                   # 知识库
│   ├── format_standards.md      # 格式规范知识库
│   ├── format_templates.json    # 电工杯排版模板
│   ├── competition_rules.md     # 竞赛规则
│   ├── scoring_criteria.md      # 评分标准
│   ├── best_practices.md        # 最佳实践
│   ├── excellent_papers.md      # 优秀论文范例
│   ├── community_cases.json     # 社区案例数据
│   ├── meisai/                  # 美赛知识库
│   │   ├── README.md            # 美赛赛事概要(英文)
│   │   └── format_templates.json # 美赛排版模板
│   ├── shumo/                   # 国赛知识库
│   │   ├── README.md            # 国赛赛事概要
│   │   └── format_templates.json # 国赛排版模板
│   └── yataibei/                # 亚太杯知识库
│       ├── README.md            # 亚太杯赛事概要
│       └── format_templates.json # 亚太杯排版模板
│
├── workflow/                    # 工作流
│   └── state_manager.py         # 状态持久化
│
├── sandbox/                     # 代码沙箱
│   └── code_runner.py           # 安全执行代码
│
├── output/                      # 输出目录
│   ├── papers/                  # 生成的论文
│   ├── code/                    # 生成的代码
│   └── charts/                  # 生成的图表
│
└── data/                        # 数据目录
    └── math_setup.db            # SQLite 数据库

工作流程

赛题输入 → 问题分析(ChatGPT) → 全网检索(DeepSeek)
    → 模型建立(ChatGPT) → 数据获取(四级回退: 上传→文本提取→搜索→模拟)
    → 代码实现(DeepSeek) → 智能图表生成
    → 论文写作(ChatGPT, 根据 Agent 配置) → 格式检查与优化(7步流程)
    → 导出论文(Word/PDF/Markdown)

质量检查流程

自动格式检查(FormatChecker)
  → 自动格式修复(FormatOptimizer)
    → LLM语义审查(ChatGPT)
      → LLM格式优化(ChatGPT)
        → 自动复检
          → 最终确认(LLM)
            → 内容质量检查 + 降重检查

技术栈

  • 前端:Vue 3 + Vite + TypeScript + CSS Variables
  • 后端:FastAPI + uvicorn + WebSocket
  • 桌面容器:pywebview + FastAPI
  • 打包分发:PyInstaller(onedir 模式)
  • 数据库:SQLite + SQLAlchemy
  • LLM:OpenAI API (ChatGPT) + DeepSeek API
  • 搜索引擎:秘塔AI搜索 (Metaso API)
  • 论文生成:LaTeX (xelatex) + python-docx + reportlab
  • 格式检查:FormatChecker(自动规则引擎) + FormatOptimizer(自动修复) + LLM语义审查
  • 数据处理:numpy + pandas + matplotlib + seaborn
  • 图表生成:matplotlib + seaborn(多类型:折线/柱状/热力图/雷达/小提琴/龙卷风等)
  • 知识库:多场景格式模板 + 评分标准 + 竞赛规则 + 优秀论文范例

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors