简体中文 | English
3 天的比赛时间变为 1 小时 自动完整一份可以获奖级别的建模论文
- 🔍 自动分析问题,数学建模,编写代码,纠正错误,撰写论文
- 💻 Code Interpreter
- 📝 生成一份编排好格式的论文
- 🤝 multi-agents: 建模手,代码手,论文手等
- 🔄 multi-llms: 每个 agent 设置不同的、合适的模型
- 🤖 支持所有模型: litellm
- 💰 成本低:workflow agentless,不依赖 agent 框架
- 🧩 自定义模板:prompt inject 为每个 subtask 单独设置需求
- 🌐 Web Search: Agent 自主搜索互联网获取真实数据(Tavily API)
- 📚 RAG 知识库: 从本地知识库检索建模方法、代码模板、论文写作参考(ChromaDB + Rerank)
- 🤝 HIL 人机协作: 关键节点暂停等待用户审批,支持 6 种决策动作(confirm / edit / regenerate / ask / skip / abort)
- 🛡️ 四层容错: 有限重试 → Fallback Hand Off → Evaluator Shadow Mode → Feedback Rerun
- 添加并完成 webui、cli
- 完善的教程、文档
- 提供 web 服务
- 英文支持(美赛)
- 集成 latex 模板
- 接入视觉模型
- 添加正确文献引用
- 更多测试案例
- docker 部署
- human in loop ( HIL ): 关键节点暂停等待用户审批,支持 6 种决策动作(confirm/edit/regenerate/ask/skip/abort)
- feedback: 评估器评分 + 反馈注入重跑,先 Writer 后 Coder
- codeinterpreter 接入云端 如 e2b 等供应商..
- 多语言: R 语言, matlab
- 绘图 napki,draw.io,plantuml,svg, mermaid.js
- 添加 benchmark
- web search tool: Tavily API 搜索互联网获取真实数据
- RAG 知识库: ChromaDB + Rerank 检索建模方法、代码模板、论文写作参考
- A2A hand off: Fallback 自动切换备用模型 + 有限重试 + Evaluator Shadow Mode
- chat / agent mode
mathmodelagent.mp4
Caution
项目处于实验探索迭代demo阶段,有许多需要改进优化改进地方,我(项目作者)很忙,有时间会优化更新 欢迎贡献
提供三种部署方式,请选择最适合你的方案:
下载项目
git clone https://github.com/jihe520/MathModelAgent.git # 克隆项目如果你想运行 命令行版本 cli 切换到 master 分支,部署更简单,但未来不会更新
确保电脑安装了 docker 环境
- 启动服务
在项目文件夹下运行:
docker-compose up- 访问
现在你可以访问:
- 前端界面:http://localhost:5173
- 后端API:http://localhost:8000
- 配置
侧边栏 -> 头像 -> API Key
确保电脑中安装好 Python, Nodejs, Redis 环境
- 安装依赖
启动后端
Caution
启动 Redis, 下载和运行问 AI
# ============ 安装依赖 ============
# 1. 切换到 backend 目录
cd backend
# 2. 安装 uv 包管理器(推荐)
pip install uv
# 3. 同步项目依赖
uv sync# ============ MacOS / Linux 启动命令 ============
# 1. 设置环境变量
export ENV=DEV
export REDIS_URL=redis://localhost:6379/0
# 2. 激活虚拟环境
source .venv/bin/activate
# 3. 启动后端服务(激活后可直接使用 uvicorn 命令)
uvicorn app.main:app --host 0.0.0.0 --port 8000 --ws-ping-interval 60 --ws-ping-timeout 120 --reload# ============ Windows PowerShell 启动命令 ============
# 1. 设置环境变量
$env:ENV="DEV"
$env:REDIS_URL="redis://localhost:6379/0"
# 2. 激活虚拟环境(使用 PowerShell 专用脚本)
. .\.venv\Scripts\Activate.ps1
# 3. 启动后端服务(激活后命令行提示符会显示 (backend))
uvicorn app.main:app --host 0.0.0.0 --port 8000 --ws-ping-interval 60 --ws-ping-timeout 120 --reload启动前端
cd frontend # 切换到 frontend 目录下
npm install -g pnpm
pnpm i #确保电脑安装了 pnpm
pnpm run dev修改 backend/.env.dev 的环境变量 REDIS_URL
- 配置
侧边栏 -> 头像 -> API Key
有没有自动部署的脚本 ? mmaAutoSetupRun
运行的结果和产生在backend/project/work_dir/xxx/*目录下
- notebook.ipynb: 保存运行过程中产生的代码
- res.md: 保存最后运行产生的结果为 markdown 格式
需要自定义自定义提示词模板 template ? Prompt Inject : prompt
网络状况太差难以配置Docker等设置? 网络不畅时的配置过程示例:网络环境极差时的MathModelAgent配置过程
MathModelAgent 支持以下可选功能,默认已关闭,开启后未配置外部依赖时自动降级跳过。详见 升级说明。
| 功能 | 配置开关 | 说明 |
|---|---|---|
| Web Search | SEARCH_ENABLED + TAVILY_API_KEY |
Agent 自主联网搜索真实数据(Tavily API) |
| RAG 知识库 | RAG_ENABLED |
从本地知识库检索建模方法和代码模板(ChromaDB + Rerank) |
| HIL 人机协作 | HIL_ENABLED |
关键节点暂停等待用户审批,支持 6 种决策动作 |
| Fallback Hand Off | FALLBACK_* 系列 |
主模型故障自动切换备用模型 |
| Evaluator + Feedback | EVALUATOR_* 系列 |
输出质量评估 + 反馈重跑 |
快速启用 Web Search:注册 Tavily 获取 API Key,在 backend/.env.dev 中设置 TAVILY_API_KEY=tvly-xxx。
Tip
如果你有跑出来好的案例可以提交 PR 在该仓库下: MathModelAgent-Example
- 项目处于开发实验阶段(我有时间就会更新),变更较多,还存在许多 Bug,我正着手修复。
- 希望大家一起参与,让这个项目变得更好
- 非常欢迎使用和提交 PRs 和 issues
- 需求参考 后期计划
clone 项目后,下载 Todo Tree 插件,可以查看代码中所有具体位置的 todo
.cursor/* 有项目整体架构、rules、mcp 可以方便开发使用
个人免费使用,请勿商业用途,商业用途联系我(作者)
Thanks to the following projects:
感谢赞助
302.AI 是一个按用量付费的企业级AI资源平台,提供市场上最新、最全面的AI模型和API,以及多种开箱即用的在线AI应用
有问题可以进群问
点击链接加入腾讯频道【MathModelAgent】:https://pd.qq.com/s/7rfbai3au
点击链接加入群聊 779159301【MathModelAgent】:https://qm.qq.com/q/Fw2cCJPoki
Caution
免责声明: 注意,AI 生成仅供参考,目前水平直接参加国赛获奖是不可能的,但我相信 AI 和 该项目未来的成长。
如何启动:
redis-server
cd D:\MathModelAgent\backend $env:ENV = "DEV"; $env:REDIS_URL = "redis://localhost:6379/0" .venv\Scripts\uvicorn.exe app.main:app --host 0.0.0.0 --port 8000 --ws-ping-interval 60 --ws-ping-timeout 120
cd D:\MathModelAgent\frontend pnpm run dev



