使用RAG和MCP的数学代理
一种智能数学问题解决代理,使用检索增强生成(RAG)和模型上下文协议(MCP)提供逐步解决方案并进行验证。
特性
- 🔍 智能检索:基于FAISS的相关数学上下文语义搜索
- 🔄 交叉注意力重新排序:使用交叉编码器改进上下文选择
- ✍️ LaTeX格式:解决方案中的优美数学表达式
- ✅ 符号验证:使用SymPy验证数学正确性
- 🔒 AI网关:输入/输出验证和安全检查
- 📝 MCP集成:完整的来源追踪和思维链记录
- 🎯 信心评分:需要时自动标记以供人工审查
安装
- 克隆存储库
- 创建虚拟环境:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt用法
命令行接口
使用CLI求解方程式:
python -m src.main solve "2x + 3 = 11"为更详细的日志启用调试模式:
python -m src.main solve "x/2 + 4 = 7" --debugPython API
from src.pipeline.enhanced_pipeline import EnhancedPipeline
# Initialize the pipeline
pipeline = EnhancedPipeline()
# Solve a math problem
result = pipeline.process_question("Solve: 3x - 6 = 9")
# Access the solution
steps = result["solution"]["steps"]
final_answer = result["solution"]["final_answer"]
confidence = result["solution"]["confidence"]预热型号(可选)
如果您想在启动服务器之前预下载模型权重并初始化模型(建议用于稳定的首次请求),请运行预热脚本:
python scripts\warmup_models.py或者用背景预热线程启动UI:
$env:PRELOAD_MODELS='1'; python src\ui\app.py建筑
组件
- AI网关 (
src/gateway/ai_gateway.py)
- 输入净化 - 个人身份信息检测 - 输出验证 - LaTeX格式强制
- 检索器 (
src/retriever/retriever.py)
- FAISS矢量存储集成 - 语义相似度搜索 - 批量检索支持
- 重排序器 (
src/reranker/reranker.py)
- 交叉注意力评分 - 上下文相关性改进 - Top-k选择
- 发电机 (
src/generator/enhanced_generator.py)
- 逐步生成解决方案 - LaTeX格式化 - 信心评分
- 符号验证器 (
src/verification/symbolic_verifier.py)
- 基于SymPy的方程验证 - 步骤验证 - 解决方案正确性检查
MCP实施
模型上下文协议(MCP)提供:
- 组件之间的消息跟踪
- 来源记录
- 思维碎片链
- 人工审查的证据标志
测试
运行测试套件:
python -m unittest discover tests关于覆盖率报告:
pytest --cov=src tests/局限性
- 目前支持:
- 线性方程 - 基本代数运算 - 单变量方程
- 已知限制:
- 尚不支持方程组 - 复数处理有限 - 方程式无图形输出
未来改进
- 交互式求解的Web界面
- 对方程组的支持
- 与计算机代数系统集成
- 增强的解释生成
- 学生技能水平适应
贡献
- 分叉存储库
- 创建要素分支
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
