使用说明

项目简介

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连接。

基本使用方法

  1. 部署并启动Flock平台 (通过 Docker Compose 或本地源码启动)。
  2. 访问Flock平台 Web 界面 (通常为 'http://localhost:3000',取决于前端配置)。
  3. 在工作流设计界面,可以使用 MCP Tool 节点 来调用已配置的MCP服务器提供的工具。
  4. 配置 MCP Tool 节点时,选择要使用的 MCP 服务器连接 (例如 "math" 或 "weather") 及其提供的具体工具。
  5. 构建和运行工作流,即可利用外部MCP服务器的工具扩展Flock平台的功能。

关键词

工作流编排, 低代码平台, Agent协同, 聊天机器人, RAG应用

信息

分类

AI与计算