使用说明
项目简介
Flock是一个基于工作流的低代码平台,用于快速构建聊天机器人、RAG(检索增强生成)应用以及协调多Agent团队。它构建于LangChain和LangGraph之上,为协作式Agent提供灵活的低代码编排解决方案。Flock支持聊天机器人、RAG应用、Agent和多Agent系统,并具备离线运行能力。其核心功能在于通过可视化的工作流节点,简化复杂应用的构建过程,并集成了对MCP(模型上下文协议)服务器的支持,能够无缝集成和利用外部MCP服务器提供的工具。
主要功能点
- 工作流可视化编排: 通过图形化界面,用户可以拖拽和连接各种节点,轻松构建复杂的应用逻辑。
- MCP工具集成: 支持通过MCP协议连接和动态加载来自多个MCP服务器的工具,扩展平台的功能。
- 多Agent协作: 内置支持多Agent团队的创建和协调,简化复杂任务的分解和执行。
- 丰富的节点类型: 提供包括LLM节点、检索节点、工具节点、意图识别节点等多种节点,满足不同应用场景的需求。
- 低代码特性: 降低开发门槛,允许用户通过少量代码或无需代码即可快速搭建应用。
- 离线运行能力: 平台设计支持离线环境部署和运行,提供更高的灵活性和安全性。
- 支持多种模型: 兼容OpenAI、智谱AI、硅基流动、Ollama、Qwen等多种模型提供商。
安装步骤
Flock平台提供两种主要的安装方式:使用Docker Compose部署和本地源码启动。
1. 使用 Docker Compose 部署 (推荐)
Docker Compose 方式简化了部署流程,可以选择从Docker Hub拉取预构建镜像或本地构建镜像。
方法 1: 从 Docker Hub 拉取镜像
# 克隆仓库 git clone https://github.com/Onelevenvy/flock.git # 进入 docker 目录 cd flock/docker # 复制环境变量配置文件 cp ../.env.example .env # 启动 Docker Compose docker compose up -d
方法 2: 本地构建镜像
# 克隆仓库 git clone https://github.com/Onelevenvy/flock.git # 进入 docker 目录 cd flock/docker # 复制环境变量配置文件 cp ../.env.example .env # 构建前端和后端镜像 docker compose -f docker-compose.localbuild.yml build # 启动 Docker Compose docker compose -f docker-compose.localbuild.yml up -d
2. 本地源码启动
本地源码启动方式适合开发者进行二次开发和调试。
准备工作
# 克隆代码 git clone https://github.com/Onelevenvy/flock.git # 复制环境变量配置文件 cp .env.example .env # 生成密钥 (替换 .env 文件中的默认值 changethis) python -c "import secrets; print(secrets.token_urlsafe(32))" # 启动中间件 (PostgreSQL, Qdrant, Redis) cd docker docker compose -f docker-compose.middleware.yml up -d
启动后端
cd backend poetry env use 3.12 # 确保使用 Python 3.12.x poetry install # 安装依赖 alembic upgrade head # 初始化数据库 uvicorn app.main:app --reload --log-level debug # 启动后端服务 # (可选) 启动 Celery 用于 RAG 功能 poetry run celery -A app.core.celery_app.celery_app worker --loglevel=debug
启动前端
cd web pnpm install # 安装前端依赖 pnpm dev # 启动前端服务 (或 pnpm build && pnpm start 用于生产环境)
服务器配置 (MCP 客户端配置)
Flock平台作为MCP客户端,可以通过配置连接到外部MCP服务器,以扩展工具能力。以下是一个配置示例,用于连接到名为 "math" 的MCP服务器,该服务器通过stdio传输协议启动,执行一个Python脚本 'math_server.py':
{ "math": { "transport": "stdio", "command": "python", "args": [ "/path/to/math_server.py" // 请替换为 math_server.py 脚本的绝对路径 // "arg1", // (可选) 其他参数 // "arg2" ], "serverName": "Math Server" // (可选) 服务器名称,用于界面显示 }, "weather": { // 配置另一个名为 "weather" 的 MCP 服务器 "transport": "sse", "url": "http://localhost:8123/sse", // SSE 服务器 URL "serverName": "Weather Server" // (可选) 服务器名称 } // ... 可以配置更多 MCP 服务器 }
配置参数说明:
- 'serverName': (可选) MCP 服务器的名称,用于在Flock平台界面上标识和管理不同的MCP服务器连接。
- 'transport': 指定MCP服务器使用的传输协议,Flock平台目前支持 'stdio' 和 'sse' 两种协议。
- 'command': 当 'transport' 为 'stdio' 时,指定启动MCP服务器的命令,例如 'python' 或 'node'。
- 'args': 当 'transport' 为 'stdio' 时,指定启动MCP服务器命令的参数列表,例如脚本路径和额外的命令行参数。请务必使用MCP服务器脚本的绝对路径。
- 'url': 当 'transport' 为 'sse' 时,指定SSE服务器的URL地址,MCP客户端通过该URL与服务器建立SSE连接。
基本使用方法
- 部署并启动Flock平台 (通过 Docker Compose 或本地源码启动)。
- 访问Flock平台 Web 界面 (通常为 'http://localhost:3000',取决于前端配置)。
- 在工作流设计界面,可以使用 MCP Tool 节点 来调用已配置的MCP服务器提供的工具。
- 配置 MCP Tool 节点时,选择要使用的 MCP 服务器连接 (例如 "math" 或 "weather") 及其提供的具体工具。
- 构建和运行工作流,即可利用外部MCP服务器的工具扩展Flock平台的功能。
关键词
工作流编排, 低代码平台, Agent协同, 聊天机器人, RAG应用
信息
分类
AI与计算