Skip to content

jihe520/MathModelAgent

Repository files navigation

🤖 MathModelAgent 📐

专为数学建模设计的 Agent
自动完成数学建模,生成一份完整的可以直接提交的论文。

简体中文 | English

🌟 愿景:

3 天的比赛时间变为 1 小时 自动完整一份可以获奖级别的建模论文

✨ 功能特性

  • 🔍 自动分析问题,数学建模,编写代码,纠正错误,撰写论文
  • 💻 Code Interpreter
    • local Interpreter: 基于 jupyter , 代码保存为 notebook 方便再编辑
    • 云端 code interpreter: E2Bdaytona
  • 📝 生成一份编排好格式的论文
  • 🤝 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

视频demo

mathmodelagent.mp4

Caution

项目处于实验探索迭代demo阶段,有许多需要改进优化改进地方,我(项目作者)很忙,有时间会优化更新 欢迎贡献

📖 使用教程

提供三种部署方式,请选择最适合你的方案:

  1. docker(最简单)
  2. 本地部署
  3. 脚本本地部署(社区)

下载项目

git clone https://github.com/jihe520/MathModelAgent.git # 克隆项目

如果你想运行 命令行版本 cli 切换到 master 分支,部署更简单,但未来不会更新

🐳 方案一:Docker 部署(推荐:安全简单)

确保电脑安装了 docker 环境

  1. 启动服务

在项目文件夹下运行:

docker-compose up
  1. 访问

现在你可以访问:

  1. 配置

侧边栏 -> 头像 -> API Key

💻 方案二: 本地部署

确保电脑中安装好 Python, Nodejs, Redis 环境

  1. 安装依赖

启动后端

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

  1. 配置

侧边栏 -> 头像 -> 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

🤝 贡献和开发

DeepWiki | Zread

Tip

如果你有跑出来好的案例可以提交 PR 在该仓库下: MathModelAgent-Example

  • 项目处于开发实验阶段(我有时间就会更新),变更较多,还存在许多 Bug,我正着手修复。
  • 希望大家一起参与,让这个项目变得更好
  • 非常欢迎使用和提交 PRs 和 issues
  • 需求参考 后期计划

clone 项目后,下载 Todo Tree 插件,可以查看代码中所有具体位置的 todo

.cursor/* 有项目整体架构、rules、mcp 可以方便开发使用

📄 版权License

个人免费使用,请勿商业用途,商业用途联系我(作者)

License

🙏 Reference

Thanks to the following projects:

其他

💖 Sponsor

☕️ 给作者买一杯咖啡

感谢赞助

企业

302.AI 是一个按用量付费的企业级AI资源平台,提供市场上最新、最全面的AI模型和API,以及多种开箱即用的在线AI应用

用户

danmo-tyc

👥 GROUP

有问题可以进群问

点击链接加入腾讯频道【MathModelAgent】:https://pd.qq.com/s/7rfbai3au

点击链接加入群聊 779159301【MathModelAgent】:https://qm.qq.com/q/Fw2cCJPoki

Discord

Caution

免责声明: 注意,AI 生成仅供参考,目前水平直接参加国赛获奖是不可能的,但我相信 AI 和 该项目未来的成长。

如何启动:

启动 Redis(如果没在运行)

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

About

🤖📐专为数学建模设计的 Agent ,自动完成数学建模,生成一份完整的可以直接提交的论文。 An Agent Designed for Mathematical Modeling ,Automatically complete mathmodel and generate a complete paper ready for submission.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors