数值方法求解器

一个基于Python的命令行数值方法求解器,使用模型上下文协议(MCP)通过多种数值方法求解二次方程的根。

  • by Bojji3487
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Bojji3487/mcp-conm-llama

使用说明

带有MCP(数学互补问题)的数值方法求解器

一个基于Python的命令行数值方法求解器,它利用模型上下文协议(MCP)通过各种数值方法来求解二次方程的根。

特点/特性

  • **二分法(或二分查找法)**在给定区间内寻找根
  • 牛顿-拉夫森方法单次初始猜测即可快速收敛
  • 割线法类似于牛顿-拉夫森法,但不需要求导
  • 二次方程公式直接计算所有根
  • 交互模式支持自定义输入以求解任意二次方程
  • 由人工智能驱动使用Groq LLM智能选择和应用方法

安装

  1. 克隆项目

    git clone https://github.com/Bojji3487/mcp-conm-llama
    
  2. 安装依赖项:

    uv add -r requirements.txt
    
  3. 设置您的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

特色功能

  1. 带注释的返回类型为函数返回值添加了适当的类型提示
  2. 描述性错误处理包含实际值的描述性错误信息
  3. 交互式客户端基于菜单的交互式客户端,利用人工智能进行回答
  4. 自定义输入支持用户可以输入任意二次方程
  5. 附加工具已添加 find_all_roots 使用二次方程公式
  6. 迭代跟踪显示收敛所需的迭代次数
  7. UV管理的项目这是一个使用uv的项目,uv是pip的一个快速替代工具……此外,还有一个使用uv的启动项目
    uv init
    

数学背景

求解器处理以下形式的方程: ax² + bx + c = 0

  • **二分法(或二分查找法)**这个老方法虽然可靠但速度较慢,需要在间隔中改变符号,最适合在你用其他方法不确定时用来核对答案
  • 牛顿-拉夫森法快速收敛,若导数为零则可能失败,不过自动求导(AF)容易实现。。。。
  • 割线法当导数难以计算时,这是一个不错的替代方法,不过说实话,我其实没怎么用过。
  • 二次方程求根公式直接求解,处理复数根

故障排除

  1. **“GROQ_API_KEY未找到”**确保你的 .env 文件已存在且包含您的API密钥
  2. 导入错误使用以下方式安装所有要求 uv add -r requirements.txt

许可证

MIT 许可证 - 请随意根据需要修改和使用!