多智能体工作流编排器

一个基于LiteLLM的多层工作流编排器,用于协调目标分析、上下文工程、专业代理、MCP工具调用、安全策略、内存持久化和可观察性钩子,为任何领域提供结构化的工作流结果。

  • by charanpanthangi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 charanpanthangi/mcp-workflow-orchestrator

使用说明

多代理工作流编排器(LiteLLM版)

概述

该项目实现了由LiteLLM支持的多层工作流编排器。它协调客观分析、上下文工程、专用代理、MCP工具调用、安全策略、内存持久性和可观察性挂钩,为任何领域提供结构化的工作流结果。

图层

  • 语境工程:为每次调用构建约束、提示和内存上下文。
  • 多代理层:天气、预算、日历、签证、航班、酒店、出租车和响应代理处理领域推理。
  • MCP客户端和服务器:Stub服务器提供确定性工具输出,以保持测试离线就绪。
  • 计划员/编排员:使用LiteLLM解释请求、选择代理并按顺序执行它们。
  • 首选项/内存存储:JSON支持的存储捕获运行之间的用户偏好。
  • 重试/断路器:保护所有LiteLLM和MCP相互作用,以增强弹性。
  • 政策/安全:模型输出上的轻量级消毒和安全过滤器。
  • 可观察性/反馈回路:用于跟踪每次调用的日志和指标存根。

LiteLLM集成

LiteLLM是统一的模型接口。模型可以通过环境变量进行配置:

  • LITELLM_MODEL_PLANNER
  • LITELLM_MODEL_AGENT

自动启用回退(gpt-4o-mini, groq/llama3-8b, claude-3-haiku).切换模型是一个单一的环境更改。

提示

  • 系统提示: examples/prompts/system_prompt.txt
  • 计划提示: examples/prompts/planner_prompt.txt

工作流示例

请求(examples/sample_workflow_request.json):

{
  "objective": "Plan a business trip to Berlin",
  "budget": 1500,
  "context": {"origin": "LON", "destination": "BER", "city": "Berlin"},
  "user_preferences": {"nationality": "UK", "hotel_style": "business"}
}

响应形状(examples/sample_workflow_response.json):

{
  "plan": "Concise workflow summary",
  "agents_used": ["weather", "budget", "flight", "hotel", "taxi", "response"],
  "tools_invoked": ["weather", "budget", "flight", "hotel", "taxi"],
  "result": "Final orchestrated plan with recommendations",
  "metadata": {"preferences": {"hotel_style": "business"}}
}

设置

  1. 克隆存储库。
  2. 创建 .env 基于 .env.example 设置LiteLLM模型和存储路径。
  3. 安装依赖项:
    pip install -r requirements.txt
    
  4. 运行API:
    uvicorn app.main:app --host 0.0.0.0 --port 8000
    

码头工人

通过Docker构建和运行:

docker build -t workflow-orchestrator .
docker run -p 8000:8000 workflow-orchestrator

或者使用docker compose:

docker-compose up --build

测试

运行pytest以验证计划器逻辑、代理、内存存储和MCP客户端存根:

pytest