工具调用演示服务

一个演示如何通过本地MLX模型与FastMCP服务器协调调用Python cowsay库生成趣味ASCII艺术气泡的服务,适用于LLM工具调用场景。

  • by akitorahayashi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 akitorahayashi/cowsay-mcp

使用说明

概述

  • 演示本地MLX模型如何通过与封装Python的FastMCP服务器协调来执行工具调用 cowsay 图书馆。
  • 提供单个 cowsay-mcp 该工具可以生成带有奶牛的有趣ASCII艺术演讲气泡,并附有LLM的详细描述和使用指南。
  • 该工具包括全面的元数据(描述、标签、示例),以帮助LLM了解何时以及如何有效地使用它。

需求

  • Python 3.12或更高版本。
  • 紫外线 已安装并打开 PATH 用于依赖性管理。
  • 苹果硅机器 玻璃直线磨斜边机 支持;演示加载 mlx-community/Llama-3.2-3B-Instruct-4bit 通过 mlx-lm.

设置

  • uv sync 安装核心项目依赖项。
  • uv sync --group dev 如果你需要本地linting/格式化助手。
  • uv sync --extra demo 在运行MLX演示之前 mlx-lm 可用。
  • 可选: python -m cowsay_mcp.main 手动启动FastMCP服务器进行检查。

演示运行

  • 执行 uv run --extra demo python -m demo.main.
  • 脚本将:
    • 提示模型请求 cowsay-mcp 工具通过严格的JSON,
    • 通过捆绑的Python呈现ASCII艺术响应 cowsay 附属国,
    • 将工具调用和输出发送回模型,请求最终的日语响应。
  • 预计将首先打印原始JSON工具调用,然后打印模型的最终答案。

测试

  • uv run pytest tests/unit 执行快速单元测试。
  • uv run pytest tests/intg 运行集成覆盖(修补的MLX+cowsay流)。
  • just test 如果您依赖justfile辅助程序,则运行这两个套件。

备注/未来工作

  • 演示直接导入工具助手;生产代理将通过stdio或套接字与正在运行的FastMCP服务器进行MCP通信。
  • 可以添加其他工具(文件系统、HTTP等) cowsay_mcp.server 而不改变演示结构。
  • 您可以替换 mlx-community/Llama-3.2-3B-Instruct-4bit 使用其他MLX兼容模型或量化级别来实验不同的行为。