使用说明

项目简介

Pebble是一个Python库,旨在为人工智能代理(AI Agents)提供一个通用的通信协议。它通过标准化的接口,使得不同框架(如SmolagentAI、AgnoAI、CrewAI)的Agent能够无缝地交换消息、共享上下文并有效协作。Pebble还支持模型上下文协议(MCP),允许它作为MCP服务器,为LLM客户端提供资源、工具和Prompt模板等服务。

主要功能点

  • 通用Agent协议: 提供跨Agent框架的标准化通信接口。
  • MCP服务器实现: 实现了模型上下文协议(MCP)服务器,可以托管和管理资源、注册和执行工具、定义和渲染Prompt模板,并使用JSON-RPC协议与MCP客户端通信。
  • 多框架支持: 内置对SmolagentAI、AgnoAI、CrewAI等框架的适配器,易于扩展以支持更多框架。
  • 认知能力: 通过认知协议扩展,支持Agent的认知功能,如思考、感知和行动。
  • 持久状态管理: 支持跨会话存储和检索Agent状态,实现Agent状态的持久化。
  • 灵活的消息路由: 提供中心化的协调器来管理Agent之间的通信。

安装步骤

  1. 确保你的Python环境中安装了pip。
  2. 打开终端或命令提示符,运行以下命令安装Pebble库:
    pip install pebble
    或者使用uv:
    uv pip install pebble

服务器配置

Pebble库可以通过 'deploy' 函数将Agent部署为MCP服务器。以下是一个MCP客户端连接Pebble服务器时可能需要的配置信息,以JSON格式提供:

{
  "serverName": "pebble-mcp-server",
  "command": "python",
  "args": [
    "-m",
    "pebble.core.main",
    "deploy",
    "--agent", "your_agent_instance",
    "--host", "0.0.0.0",
    "--port", "8000"
  ],
  "description": "启动Pebble MCP服务器,部署your_agent_instance。",
  "notes": "请将 'your_agent_instance' 替换为你想要部署的Agent实例的Python代码。"
}

参数注释:

  • serverName: MCP服务器的名称,可以自定义。
  • command: 启动服务器的命令,通常是 'python'。
  • args: 启动命令的参数列表,包括:
    • '"-m", "pebble.core.main"': 指定运行Pebble主模块的deploy命令。
    • '"deploy"': Pebble的部署命令。
    • '"--agent", "your_agent_instance"': 指定要部署的Agent实例,请替换为实际的Agent实例变量名或代码。例如,如果你的Agent实例名为 'my_agent',则应替换为 '"--agent", "my_agent"'。
    • '"--host", "0.0.0.0"': 指定服务器绑定的主机地址,'0.0.0.0' 表示监听所有可用的网络接口。
    • '"--port", "8000"': 指定服务器监听的端口号,可以根据需要更改。
  • description: 对该服务器配置的简要描述,方便用户理解其用途。
  • notes: 额外的配置说明,提醒用户需要替换占位符 'your_agent_instance'。

注意: 上述配置中的 'your_agent_instance' 仅为示例,实际使用时需要根据你的Agent定义代码进行调整。你需要确保你的Agent实例在运行 'deploy' 命令时是可用的。

基本使用方法

  1. 部署Agent为MCP服务器: 使用Pebble的 'deploy' 函数可以将你的Agent实例快速部署为MCP服务器。你可以参考 'examples' 目录下的示例代码,例如 'examples/deploy_agno_agent.py' 或 'examples/deploy_cognitive_agents.py',根据你的Agent类型选择合适的部署方式。
  2. 启动MCP服务器: 根据服务器配置中的 'command' 和 'args',在终端或命令提示符中运行命令来启动MCP服务器。服务器启动后,将监听指定的host和port,等待MCP客户端的连接。
  3. MCP客户端连接: 使用任何兼容MCP协议的客户端(例如,根据Pebble库文档,可以使用 'MCPClientAdapter' 或 'MCPCognitiveAdapter' 作为客户端),配置服务器的连接信息(例如,Stdio或SSE的endpoint),即可与Pebble MCP服务器建立连接,并开始进行资源访问、工具调用和Prompt使用等操作。
  4. 与Agent交互: 通过MCP客户端,你可以发送符合MCP协议的JSON-RPC请求给Pebble服务器,例如请求读取资源('resources/read')、执行工具('tools/execute')、使用Prompt('prompts/use')或进行采样完成('sampling/complete'),从而驱动部署在Pebble服务器上的Agent进行工作。

请参考Pebble库的文档和示例代码以获取更详细的使用方法和高级功能。

信息

分类

AI与计算