多工具代理服务

结合Groq硬件优化的语言模型与多工具MCP服务器,构建可调用数学和天气功能的智能代理。

  • by Waelr1985
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 waelr1985/mcp-server

使用说明

Groq驱动的多工具MCP代理演示

此存储库演示了如何将小型MCP服务器与Groq托管的 语言模型,构建一个可以调用多个工具的简单代理。项目 包括两个示例服务器和一个客户端,该客户端通过 ReAct风格的代理。

目标

目标是展示在Groq硬件上运行的语言模型如何调用 通过MCP公开的自定义工具。客户端连接到多个MCP服务器, 取回他们的工具,并将其传递给Groq支持的代理。然后代理人 根据需要调用这些工具来回答用户问题。

这里的“Groq”是指与 from langchain_groq import ChatGroqGroq是一个针对快速运行大型语言模型而优化的服务和硬件平台 langchain-groq 该包允许您访问Groq托管的模型。代码将模型设置为 qwen-qwq-32b 并使用环境变量 GROQ_API_KEY 用于身份验证。

方法

  1. 运行小型MCP服务器(mathserver.py 和 weather.py)这暴露了工具。
  2. 启动一个通过以下方式连接到这些服务器的客户端 MultiServerMCPClient.
  3. 使用Groq支持的语言模型创建一个ReAct代理,在回答问题时调用这些工具。

这使您可以将自定义工具功能与高性能Groq模型相结合,以构建多工具代理。

组件

数学服务器

  • 文件: mathserver.py
  • 通过stdio上的MCP公开加法和乘法函数。

天气服务器

  • 文件: weather.py
  • 提供 get_weather 通过HTTP上的MCP工具(默认为 http://127.0.0.1:8000/mcp).

客户端

  • 文件: client.py
  • 用途 MultiServerMCPClient 连接到两台服务器。
  • 加载工具并创建ReAct代理 create_react_agent.
  • 代理人使用 ChatGroq 与模型 qwen-qwq-32b.
  • 需要a GROQ_API_KEY 用于身份验证的环境变量。
  • 演示如何调用数学和天气工具并打印结果。
  • 因此,客户端脚本是MCP收集多个工具并将其暴露给Groq支持的代理的地方,使代理能够调用数学和天气函数。

用法

  1. 安装中列出的依赖项 requirements.txt 或 pyproject.toml.
  2. 启动数学服务器:
    python mathserver.py
    
  3. 启动气象服务器(默认情况下,它监听端口8000):
    python weather.py
    
  4. 设置 GROQ_API_KEY 带有Groq API令牌的环境变量并运行 客户:
    export GROQ_API_KEY=your_key_here
    python client.py
    

客户端将加载可用工具,创建代理,并演示一些 涉及数学和天气的示例问题。

许可证

该项目根据MIT许可证获得许可。请参阅 LICENSE 提交 更多信息。