多代理工作流编排器(LiteLLM版)
概述
该项目实现了由LiteLLM支持的多层工作流编排器。它协调客观分析、上下文工程、专用代理、MCP工具调用、安全策略、内存持久性和可观察性挂钩,为任何领域提供结构化的工作流结果。
图层
- 语境工程:为每次调用构建约束、提示和内存上下文。
- 多代理层:天气、预算、日历、签证、航班、酒店、出租车和响应代理处理领域推理。
- MCP客户端和服务器:Stub服务器提供确定性工具输出,以保持测试离线就绪。
- 计划员/编排员:使用LiteLLM解释请求、选择代理并按顺序执行它们。
- 首选项/内存存储:JSON支持的存储捕获运行之间的用户偏好。
- 重试/断路器:保护所有LiteLLM和MCP相互作用,以增强弹性。
- 政策/安全:模型输出上的轻量级消毒和安全过滤器。
- 可观察性/反馈回路:用于跟踪每次调用的日志和指标存根。
LiteLLM集成
LiteLLM是统一的模型接口。模型可以通过环境变量进行配置:
LITELLM_MODEL_PLANNERLITELLM_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"}}
}设置
- 克隆存储库。
- 创建
.env基于.env.example设置LiteLLM模型和存储路径。 - 安装依赖项:
pip install -r requirements.txt- 运行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