综合介绍
Flock 是一个开源的工作流低代码平台,托管在 GitHub 上,由 Onelevenvy 团队开发。它基于 LangChain 和 LangGraph 技术,专注于帮助用户快速搭建聊天机器人、检索增强生成(RAG)应用以及协调多代理团队。Flock 通过灵活的工作流设计,让不擅长编程的用户也能轻松创建智能应用。它支持丰富的节点功能,例如条件逻辑、代码执行和多模态对话,广泛适用于业务自动化、数据处理等场景。项目采用 React、Next.js 等前端技术,后端依托 PostgreSQL,技术栈现代化且易于扩展。目前,Flock 在 GitHub 上已有活跃社区支持,深受开发者欢迎。
功能列表
- 工作流编排: 通过拖拽节点设计复杂的工作流,支持多代理协作和任务分配。
- 聊天机器人构建: 快速创建支持自然语言交互的聊天机器人,可处理文本和图像输入。
- RAG 应用支持: 集成检索增强生成功能,从文档中提取信息并生成回答。
- 条件逻辑控制: 使用 If-Else 节点实现分支逻辑,根据输入动态调整流程。
- 代码执行能力: 内置 Python 脚本节点,可执行数据处理或自定义逻辑。
- 多模态交互: 支持图像等多模态输入,提升对话灵活性。
- 子工作流封装: 通过子图节点复用复杂流程,提高开发效率。
- 人工介入节点: 允许人工审核 LLM 输出或工具调用结果。
- 意图识别: 自动识别用户输入意图并进行多分类路由。
使用帮助
安装流程
Flock 是一个基于 Docker 的本地部署工具,需要一定的环境配置才能运行。以下是详细的安装步骤,确保你能顺利上手。
1. 准备环境
- 安装 Docker: 在你的操作系统上安装 Docker,Windows/Mac 用户可从 Docker 官网 下载,Linux 用户运行以下命令:
sudo apt update && sudo apt install docker.io sudo systemctl start docker
- 安装 Git: 用于克隆仓库,安装方法可参考 Git 官网。
- 检查 Python: 确保系统有 Python 3.8+,用于生成密钥:
python --version
2. 克隆项目
打开终端,运行以下命令获取 Flock 源码:
git clone https://github.com/Onelevenvy/flock.git
cd flock/docker
3. 配置环境变量
复制示例配置文件并修改:
cp ../.env.example .env
打开 .env
文件,将默认值 changethis
替换为安全的密钥。用以下命令生成密钥:
python -c "import secrets; print(secrets.token_urlsafe(32))"
将生成的结果填入 .env
文件中,例如:
SECRET_KEY=your_generated_key_here
4. 启动服务
使用 Docker Compose 启动 Flock:
docker compose up -d
若需要本地构建镜像,先运行:
docker compose -f docker-compose.localbuild.yml build
docker compose -f docker-compose.localbuild.yml up -d
启动成功后,Flock 默认运行在 http://localhost:3000
。
使用方法
安装完成后,你可以通过浏览器访问 Flock 并开始使用其功能。以下是主要功能的详细操作说明。
功能 1: 创建聊天机器人
- 进入工作台: 打开浏览器,输入
http://localhost:3000
,登录界面(首次使用可能需注册)。 - 新建工作流: 点击“新建项目”,选择“聊天机器人模板”。
- 添加节点:
- 拖入“输入节点”接收用户消息。
- 连接“LLM 节点”处理自然语言,绑定你的模型(如通过 LangChain 配置的 OpenAI API)。
- 添加“输出节点”返回结果。
- 配置模型: 在“LLM 节点”设置中填写 API 密钥和模型参数。
- 测试运行: 点击“运行”按钮,输入“你好,今天天气如何?”查看机器人回复。
功能 2: 搭建 RAG 应用
- 准备文档: 将需要检索的文档(如 PDF)上传至工作目录。
- 设计流程:
- 添加“文件输入节点”,指定文档路径。
- 连接“RAG 节点”,配置检索参数(例如向量数据库)。
- 链接“LLM 节点”生成回答。
- 运行测试: 输入问题如“文件里提到最多的关键词是什么?”查看结果。
- 优化: 调整检索范围或模型参数,提升回答精准度。
功能 3: 多代理协作
- 创建团队: 在“代理管理”中添加多个代理角色(如“数据分析师”“客服”)。
- 分配任务:
- 用“工作流节点”定义每个代理的任务(如分析数据、回复用户)。
- 添加“协作节点”协调代理间通信。
- 运行实例: 输入任务“分析销售数据并生成报告”,观察代理协作完成。
功能 4: 条件逻辑与代码执行
- 添加 If-Else 节点:
- 拖入“If-Else 节点”,设置条件(如“输入包含‘销售’”)。
- 连接不同分支,例如“是”指向“数据分析”,“否”指向“提示重新输入”。
- 插入代码节点:
- 添加“Python 节点”,输入脚本:
def process_data(input): return sum(map(int, input.split(',')))
- 用于计算输入数字之和。
- 添加“Python 节点”,输入脚本:
- 测试: 输入“1,2,3”验证结果是否为“6”。
功能 5: 人工介入
- 添加人工节点: 在工作流中插入“人工介入节点”。
- 配置审核: 设置为审核 LLM 输出,保存后运行。
- 操作: 系统暂停并提示人工干预,输入修改后的内容后继续。
注意事项
- 网络要求: 确保 Docker 网络畅通,若使用外部模型 API,需配置代理。
- 性能优化: 本地运行时建议分配至少 4GB 内存给 Docker。
- 日志查看: 如遇问题,运行
docker logs <container_id>
检查错误。
通过以上步骤,你可以熟练使用 Flock 完成聊天机器人搭建、多代理协作等任务,充分发挥其低代码优势!