项目简介
Enso Labs Orchestra 是一个强大的后端服务,旨在为可组合的 AI 智能体提供基础 API 基础设施。它利用 LangGraph 框架,并基于 Model Context Protocol (MCP) 和 Agent-to-Agent (A2A) 协议构建。Orchestra 帮助 LLM 客户端以标准化的方式访问资源、调用工具和管理会话,为构建安全、可扩展的 AI 应用提供了核心上下文服务。
主要功能点
- AI 代理编排: 管理和协调 LangGraph 驱动的 AI 智能体,使其能够组合和执行复杂任务。
- 上下文服务: 提供标准化的接口,向 LLM 客户端提供资源、工具和 Prompt 模板等上下文信息。
- 工具集成: 支持集成多种外部工具,包括自定义 API (通过 OpenAPI)、Arcade.dev 工具、Web 搜索、Shell 命令执行等,扩展 AI 智能体的能力。
- 会话管理: 维护和管理与 LLM 客户端的交互会话,支持持久化对话历史和任务状态。
- 数据存储: 提供用户管理、设置管理、代理配置和修订版本控制等数据库功能。
- 流式传输支持: 支持通过 Server-Sent Events (SSE) 进行任务状态和结果的实时流式传输。
- 代理能力发现: 通过 '/.well-known/agent.json' 端点提供代理能力卡片,便于其他 A2A 客户端发现和集成。
安装步骤
- 克隆仓库:
git clone https://github.com/enso-labs/orchestra.git cd orchestra - 安装 Docker: 确保您的系统已安装 Docker。
- 配置环境变量:
- 在项目根目录下的 'backend' 文件夹中创建 '.env' 文件 (可从 '.example.env' 复制)。
- 根据需要配置您的 API 密钥,例如 'OPENAI_API_KEY'、'ANTHROPIC_API_KEY' 等。
- 启动数据库服务:
cd <项目根目录> docker compose up postgres pgadmin -d - 设置服务器环境:
- 进入 'backend' 目录:'cd backend'
- 创建并激活 Python 虚拟环境(推荐使用 uv):'uv venv' 和 'source .venv/bin/activate'
- 安装依赖:'uv sync'
- 运行开发服务器:'bash scripts/dev.sh' (提示时选择 "no")
- (可选)设置客户端环境: 如果您需要运行前端界面。
- 进入 'frontend' 目录:'cd frontend'
- 安装依赖:'npm install'
- 运行开发服务器:'npm run dev'
服务器配置(MCP客户端使用)
MCP 客户端需要配置 Orchestra 服务器的访问信息才能与其建立连接。以下是 JSON 格式的配置示例:
{ "enso_orchestra": { "transport": "sse", "url": "http://<您的服务器IP或域名>:8000/api/llm/stream", "headers": { "Authorization": "Bearer <您的认证Token>" }, "description": "连接到 Enso Labs Orchestra 服务器以获取智能体编排服务和工具访问。", "stream_mode": "values" } }
- 'enso_orchestra': 服务器的标识名称,您可以自定义。
- 'transport': 通信协议,Orchestra 服务器支持 'sse' (Server-Sent Events) 用于流式传输。
- 'url': Orchestra 服务器的流式 API 端点。默认情况下是 'http://<您的服务器IP或域名>:8000/api/llm/stream'。请将 '<您的服务器IP或域名>' 替换为实际的 IP 地址或域名。
- 'headers.Authorization': 如果服务器需要认证,请提供一个有效的 Bearer Token。
- 'description': 对该 MCP 服务器的简要描述。
- 'stream_mode': 指定数据流的模式,例如 'values'、'messages'、'updates'、'debug'、'tasks' 等,用于控制接收的数据格式。
基本使用方法
一旦服务器启动,您可以通过其 API 端点与之交互。例如,使用 'http://<您的服务器IP或域名>:8000/api' 访问 FastAPI 自动生成的 API 文档。您可以使用 API 文档测试不同的功能,例如发送 LLM 请求、管理工具或配置代理。
信息
分类
AI与计算