带有MCP(数学互补问题)的数值方法求解器
一个基于Python的命令行数值方法求解器,它利用模型上下文协议(MCP)通过各种数值方法来求解二次方程的根。
特点/特性
- 二分法(或二分查找法)在给定区间内寻找根
- 牛顿-拉夫森方法单次初始猜测即可快速收敛
- 割线法类似于牛顿-拉夫森法,但不需要求导
- 二次方程公式直接计算所有根
- 交互模式支持自定义输入以求解任意二次方程
- 由人工智能驱动使用Groq LLM智能选择和应用方法
安装
- 克隆项目
git clone https://github.com/Bojji3487/mcp-conm-llama- 安装依赖项:
uv add -r requirements.txt- 设置您的Groq API密钥:
- 从以下来源获取API密钥: Groq 控制台 - 创建一个 .env 文件并添加你的密钥:
GROQ_API_KEY=your_key_here用法
交互模式(默认)
python client.py这将启动一个交互式菜单,您可以在其中:
- 使用您选择的方法解决自定义方程
- 运行预定义的测试示例
- 关于数值方法,提出开放式问题
测试模式
python client.py --test运行一组预定义的测试用例以展示所有方法。
自定义输入会话示例
🔢 NUMERICAL METHODS SOLVER - Interactive Mode
============================================================
Options:
1. Solve a custom equation
2. Run test examples
3. Free-form question
4. Exit
Select option (1-4): 1
📐 Enter quadratic equation coefficients (ax² + bx + c = 0):
a = 1
b = -5
c = 6
🔧 Select a method:
1. Bisection Method
2. Newton-Raphson Method
3. Secant Method
4. Find all roots (Quadratic Formula)
5. Let AI choose the best method
Enter choice (1-5): 4
🔄 Processing...
📊 Result:
The quadratic formula gives us two real roots: x₁ = 3.000000 and x₂ = 2.000000特色功能
- 带注释的返回类型为函数返回值添加了适当的类型提示
- 描述性错误处理包含实际值的描述性错误信息
- 交互式客户端基于菜单的交互式客户端,利用人工智能进行回答
- 自定义输入支持用户可以输入任意二次方程
- 附加工具已添加
find_all_roots使用二次方程公式 - 迭代跟踪显示收敛所需的迭代次数
- UV管理的项目这是一个使用uv的项目,uv是pip的一个快速替代工具……此外,还有一个使用uv的启动项目
uv init数学背景
求解器处理以下形式的方程: ax² + bx + c = 0
- 二分法(或二分查找法)这个老方法虽然可靠但速度较慢,需要在间隔中改变符号,最适合在你用其他方法不确定时用来核对答案
- 牛顿-拉夫森法快速收敛,若导数为零则可能失败,不过自动求导(AF)容易实现。。。。
- 割线法当导数难以计算时,这是一个不错的替代方法,不过说实话,我其实没怎么用过。
- 二次方程求根公式直接求解,处理复数根
故障排除
- “GROQ_API_KEY未找到”确保你的
.env文件已存在且包含您的API密钥 - 导入错误使用以下方式安装所有要求
uv add -r requirements.txt
许可证
MIT 许可证 - 请随意根据需要修改和使用!
