使用说明
项目简介
本项目 'llm-plan-and-execute-knowledge-provider-mesh' 演示了如何利用 Model Context Protocol (MCP) 服务器与智能体工作流集成,从而扩展大型语言模型 (LLM) 的能力,使其能够访问和操作外部知识源。本仓库重点展示了使用 AutoGen 框架和 MCP 服务器进行文件系统操作和 Jira 问题管理的示例。
主要功能点
- 多智能体协作: 使用 AutoGen 的 SelectorGroupChat 实现了多智能体协作,模拟团队工作流程。
- MCP 服务器集成: 集成了文件系统和 Jira 的 MCP 服务器,允许智能体安全地访问和操作这些外部系统。
- 外部知识源访问: 除了 MCP 服务器,还包含了模拟的商店、目录和库存 API,展示了智能体如何通过 API 访问更广泛的知识。
- 任务规划与执行: 演示了规划智能体如何分解复杂任务,并委派给不同的专业智能体执行。
- 工具化智能体: 每个智能体都配备了特定的工具(函数或 MCP 工具),使其能够执行特定类型的任务。
安装步骤
- 克隆仓库
git clone https://github.com/dasiths/llm-plan-and-execute-knowledge-provider-mesh.git cd llm-plan-and-execute-knowledge-provider-mesh - 安装依赖
建议使用 virtualenv 或 conda 创建并激活虚拟环境。
pip install -r autogen_selector_group_chat_example/requirements.txt - 配置环境变量
复制 '.env.example' 文件为 '.env',并根据需要配置以下环境变量:
- 'AZURE_OPENAI_ENABLED': 是否启用 Azure OpenAI 服务,设置为 'true' 或 'false'。
- 'AZURE_OPENAI_API_KEY', 'AZURE_OPENAI_ENDPOINT', 'AZURE_OPENAI_DEPLOYMENT_NAME', 'AZURE_OPENAI_MODEL_NAME': 如果启用 Azure OpenAI,请配置您的 Azure OpenAI 服务信息。
- 'JIRA_EMAIL', 'JIRA_API_TOKEN', 'JIRA_DOMAIN': 如果您想使用 Jira MCP 工具,请配置您的 Jira 账号信息。
服务器配置
为了让 MCP 客户端(本例中为 'file_system_agent' 和 'jira_agent')连接到 MCP 服务器,需要提供服务器的启动命令和参数。以下是基于仓库代码生成的配置信息,可以直接在 MCP 客户端中使用:
文件系统 MCP 服务器配置 (file_system_agent):
{ "server_name": "file_system_mcp_server", "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/workspaces/llm-plan-and-execute-knowledge-provider-mesh/autogen_selector_group_chat_example/tools/file_agent_workdir/" // 文件系统 MCP 服务器的工作目录,智能体将在此目录下进行文件操作 ] }
Jira MCP 服务器配置 (jira_agent):
{ "server_name": "jira_mcp_server", "command": "/usr/local/share/nvm/versions/node/v22.14.0/bin/node", // 请根据您的 Node.js 安装路径调整,这里是示例路径 "args": [ "./tools/1broseidon_mcp-jira-server/build/index.js" // Jira MCP 服务器的启动脚本路径 ], "env": { "JIRA_EMAIL": "<your_jira_email>", // 您的 Jira 邮箱 "JIRA_API_TOKEN": "<your_jira_api_token>", // 您的 Jira API Token "JIRA_DOMAIN": "<your_jira_domain>" // 您的 Jira 域名,例如 your-domain.atlassian.net } }
注意: 以上配置中的 'command' 和 'args' 需要根据您的实际环境进行调整。特别是 Node.js 的路径以及 Jira MCP 服务器的环境变量。
基本使用方法
-
启动模拟 API 服务器 在 'autogen_selector_group_chat_example/tools/' 目录下,运行 'run_tools.py' 脚本,启动商店 (stores)、目录 (catalog) 和库存 (stock) 的模拟 API 服务器。
cd autogen_selector_group_chat_example/tools/ python run_tools.py请确保这些 API 服务器成功启动并监听在 'http://localhost:5000', 'http://localhost:5001', 'http://localhost:5002'。
-
运行智能体示例 在 'autogen_selector_group_chat_example/' 目录下,运行 'agents.py' 脚本,启动智能体系统。
cd autogen_selector_group_chat_example/ python agents.py程序启动后,您将在终端看到提示 'Enter a message for the agent: ',在此处输入您的指令,例如:'find the stores with the ryobi drill in stock and write that information to a file called stock.txt and then create a jira issue to summarize the findings.'
-
与智能体交互 根据提示输入自然语言指令,例如:
- 'What are the 3 closest Hardy stores to Heathmont with the Ryobi One Plus 18V Drill and the qty available?'
- 'find the stores with the ryobi drill in stock and write that information to a file called stock.txt and then create a jira issue to summarize the findings.'
- 'exit' 退出程序。
智能体团队将根据您的指令进行规划和执行,并利用集成的 MCP 服务器和 API 获取信息、执行操作。您可以在终端中查看智能体的对话过程和结果。
信息
分类
数据库与文件