Skip to content

AnnoyingC/Math-Model-Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MathPilot

一个面向数学建模竞赛的 AI 工作台原型项目。

MathPilot 以“项目制工作流”而不是单轮聊天为核心,目标是帮助用户完成从题目解析、建模方案设计、实验规划、论文生成,到 LaTeX 编译导出的完整闭环。当前仓库已经从静态 Demo 演进为一个可运行的 MVP,支持接入多供应商模型接口,并可默认使用 MCM/ICM 官方 LaTeX 模版产出论文。

项目特性

  • 支持创建数学建模项目,并以工作流步骤驱动执行
  • 支持上传赛题文件并抽取文本作为上下文
  • 支持多供应商模型配置与切换
  • 支持 OpenAI 风格消息格式与 Hermes 风格统一运行时
  • 支持结构化 JSON 输出
  • 支持标准 tools / tool_calls 工具调用链路
  • 支持生成中间产物,包括分析文档、实验脚本、CSV 结果、论文草稿
  • 支持默认套用 MCM/ICM 官方 LaTeX 模版并编译 PDF
  • 支持导出完整项目工作区

当前支持的供应商

当前前端提供下拉菜单,可配置以下供应商:

  • OpenAI
  • OpenRouter
  • 阿里百炼
  • 胜算云
  • DeepSeek
  • Anthropic
  • Azure OpenAI
  • 自定义 OpenAI 兼容接口

其中,当前项目已经实测打通阿里百炼 qwen3.5-plus 的接口调用、JSON 输出、工具调用测试与真实工作流步骤执行。

核心工作流

当前 MVP 内置的论文生成链路如下:

  1. 解析题目与约束
  2. 补充背景与评价指标
  3. 生成建模路线
  4. 生成实验设计
  5. 生成论文草稿
  6. 自动审稿与修订建议
  7. 编译 PDF

其中:

  • run_next 会逐步执行,并在关键步骤停下来等待人工确认
  • run_all 会自动跨过检查点,一次性跑完整个工作流

技术栈

  • 后端:FastAPI
  • 前端:原生 HTML + Tailwind CSS
  • 模型调用:多供应商兼容运行时
  • 论文编译:LaTeX / pdflatex
  • 项目存储:本地工作区 + JSON 状态文件

仓库结构

.
├── README.md
├── MCM-ICM_Summary.tex
├── math-modeling-agent-prd.md
└── demo
    ├── app.py
    ├── hermes_runtime.py
    ├── requirements.txt
    ├── web
    │   └── index.html
    └── demo_workspace

主要文件说明:

  • math-modeling-agent-prd.md:产品需求文档,描述整体产品定位与架构设计
  • MCM-ICM_Summary.tex:MCM/ICM 官方论文模版
  • demo/app.py:FastAPI 主服务,包含项目管理、工作流执行、模型配置与导出逻辑
  • demo/hermes_runtime.py:统一模型运行时,负责供应商兼容、JSON 输出与工具调用循环
  • demo/web/index.html:前端工作台页面
  • demo/demo_workspace/:项目运行时生成的工作区与配置文件

快速开始

1. 准备环境

建议使用 Python 3.9 及以上版本。

安装依赖:

pip install -r demo/requirements.txt

2. 启动后端

在仓库根目录运行:

python3 -m uvicorn demo.app:app --host 127.0.0.1 --port 8003 --reload

启动成功后,打开:

http://127.0.0.1:8003/

3. 配置模型接口

在页面左侧的“模型接口设置”中:

  • 选择供应商
  • 填写 Base URL
  • 填写模型名称
  • 填写 API Key
  • 点击“保存设置”
  • 点击“测试连通”

如果你使用阿里百炼,当前推荐配置为:

供应商: 阿里百炼
Base URL: https://coding.dashscope.aliyuncs.com/v1
模型: qwen3.5-plus

4. 创建并运行项目

推荐操作顺序:

  1. 创建项目
  2. 上传赛题文件
  3. 执行下一步,或一键完整执行
  4. 查看中间产物
  5. 导出项目工作区

论文模版说明

当前默认策略如下:

  • MCM 项目:默认使用仓库中的 MCM-ICM_Summary.tex
  • 其他赛事:暂时使用通用 LaTeX 模版

后续可以继续扩展更多赛事模板,例如 CUMCM、统计建模大赛等。

Hermes 风格兼容说明

本项目当前已经参考 .hermes 的设计,引入了较为统一的模型运行时思路:

  • 用统一的内部消息格式管理不同供应商
  • 在 provider 边界做 transport 适配
  • 支持 OpenAI 风格 chat/completions
  • 支持结构化 JSON 输出
  • 支持标准工具调用 tools / tool_calls

这为后续继续向 Hermes 风格 Agent 架构靠拢打下了基础,包括:

  • 更完整的工具注册中心
  • 更丰富的 provider runtime 解析
  • 更稳定的工具调用回路
  • 更细粒度的模型能力矩阵

当前状态

当前项目属于可运行的 MVP,而不是完整正式版。已经具备:

  • 可运行的前后端
  • 可配置的模型接口
  • 可执行的工作流
  • 可生成论文中间内容
  • 可编译 PDF

当前仍有一些已知限制:

  • PDF/Word 文本抽取仍是轻量实现,复杂文档兼容性有限
  • 引用、图表和实验结果仍偏原型化
  • 工具系统还不是完整的 Hermes 注册中心
  • 前端暂未实现更细粒度的模型列表和能力面板

后续规划

  • 补充更多赛事模板
  • 引入更完整的工具注册与调度系统
  • 增强 RAG、引用管理和资料库能力
  • 增强实验代码生成与结果可视化
  • 增强论文结构、图表、表格和审稿修订闭环
  • 继续向 Hermes 风格的 Agent Runtime 和 Provider 兼容层对齐

开发说明

如果页面出现接口 404 Not Found,通常说明浏览器连接到了旧的后端进程。可以重新启动服务:

python3 -m uvicorn demo.app:app --host 127.0.0.1 --port 8003 --reload

然后重新打开:

http://127.0.0.1:8003/

许可证

当前仓库暂未添加正式 License。如需开源发布,建议补充 LICENSE 文件并明确使用条款。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages