用Flowise轻松构建LLM应用程序

简介

什么是 Flowise ?

Flowise 是一个开源的图形化流程编排工具,利用大语言模型(LLM)的强大能力,帮助用户可视化地设计、构建和管理复杂的 AI 工作流。通过 Flowise,用户可以通过拖放界面轻松创建 AI 驱动的应用和工作流,无需编写代码。它将复杂的 AI 流程简化,让非技术用户也能快速上手。

项目特点

  • 可视化编排:通过图形化界面设计和编排 AI 流程。
  • 支持多种 LLM:集成主流大语言模型,如 OpenAIGPT 系列、Hugging Face 模型等。
  • 模块化设计:提供丰富的模块,用户可以根据需求灵活组合。
  • 低代码/无代码:无需编程经验,通过拖放操作即可创建 AI 应用。
  • 本地部署:支持在本地或私有云环境中运行,确保数据安全。
  • 开源免费:完全开源,允许用户自由定制和扩展。

应用场合

  • 希望快速构建 AI 工作流但缺乏编程经验的用户。
  • 需要设计复杂的 AI 流程并将其可视化的开发者和团队。
  • 希望在本地或私有环境中部署 AI 工作流的企业。
  • 需要集成大语言模型并与其他系统交互的应用场景。

准备工作

因为会用到大模型,所以需要提前准备。下面是可能会用上的模型和工具,请根据需要,选择性进行安装

文章传送门:

本次老苏使用的是 One API 管理的硅基流动的模型,现在注册送 2000Tokens,可以去官网注册一下,https://cloud.siliconflow.cn/i/NkUiXVhQ

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 flowise ,选择第一个 flowiseai/flowise,版本选择 latest

第一次折腾时, latest 版本介于 1.6.51.6.5 之间;

最近一次折腾时,latest 版本介于 2.2.42.2.5 之间;

docker 文件夹中,创建一个新文件夹 flowise,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/flowise/data /root/.flowise 存放数据库等文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3112 3000

默认没有对外暴露端口

需要点 + 号自己添加

环境

可变
PORT Flowise 运行的 HTTP 端口
FLOWISE_USERNAME 登录用户名
FLOWISE_PASSWORD 登录密码
DATABASE_PATH 保存 SQLite 数据库的位置
APIKEY_PATH 存储 API 密钥的位置
SECRETKEY_PATH 保存加密密钥的本地文件路径
LOG_PATH 存储日志文件的位置
BLOB_STORAGE_PATH 存储上传文件的本地文件夹路径

更多环境变量,请参考官方文档:https://docs.flowiseai.com/configuration/environment-variables

命令行安装

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 新建文件夹 flowise 和 子目录
mkdir -p /volume1/docker/flowise/data

# 进入 flowise 目录
cd /volume1/docker/flowise

# 运行容器
docker run -d \
--restart always \
--name flowise \
-p 3112:3000 \
-v $(pwd)/data:/root/.flowise \
-e PORT=3000 \
-e FLOWISE_USERNAME=laosu \
-e FLOWISE_PASSWORD=123456 \
-e DATABASE_PATH=/root/.flowise \
-e APIKEY_PATH=/root/.flowise \
-e SECRETKEY_PATH=/root/.flowise \
-e LOG_PATH=/root/.flowise/logs \
-e BLOB_STORAGE_PATH=/root/.flowise/storage \
--entrypoint /bin/sh \
flowiseai/flowise -c "sleep 3; flowise start"

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: '3.1'

services:
flowise:
image: flowiseai/flowise
container_name: flowise
restart: always
environment:
- PORT=3000
- FLOWISE_USERNAME=laosu
- FLOWISE_PASSWORD=123456
- DATABASE_PATH=/root/.flowise
- APIKEY_PATH=/root/.flowise
- SECRETKEY_PATH=/root/.flowise
- LOG_PATH=/root/.flowise/logs
- BLOB_STORAGE_PATH=/root/.flowise/storage
ports:
- '3112:3000'
volumes:
- ./data:/root/.flowise
entrypoint: /bin/sh -c "sleep 3; flowise start"

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 flowise 和 子目录
mkdir -p /volume1/docker/flowise/data

# 进入 flowise 目录
cd /volume1/docker/flowise

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3112 就能看到主界面

账号密码为我们在环境变量中设定的 FLOWISE_USERNAMEFLOWISE_PASSWORD 对应的值;

登录成功后

Flowise 拥有非常丰富的模块和组件,可以方便的通过拖拽来创建一个应用。它无缝集成了包括提示工程、代理、链式逻辑、语义搜索、聊天模型、向量存储以及众多可分配给代理执行任务的工具在内的多种构建块

下面老苏以一个最简单的聊天作为一个实例,来说明 Flowis 的使用过程

构建示例

Chatflows 页面点右上角的 Add New 来创建一个新的流程

+ 号,会看到各种组件

一个聊天流程,会用到最少三个组件,分别是:

  • Prompt Template:提示词模版。用于定义与用户或系统交互时所使用的文本格式;
  • ChatOpenAI Custom:聊天模型。可以使用兼容 OpenAI API 接口的第三方模型;
  • LLM Chain:链式模型。是将多个处理步骤串联起来的组件。它允许用户将多个模型或处理步骤组合在一起,以实现更复杂的逻辑和功能;

Chat Prompt Template

用搜索显然更简单快捷

拖入画布

为了有点特色,老苏在 lobechat 上找了个老中医的角色

  • System Message:填入了从上面复制的提示词;
  • Human Message: 填入了 {text}

ChatOpenAI Custom

接下来添加 ChatOpenAI Custom

拖入画布

单击 Connect Credential 下拉选框 –> Create New

  • Credential Name:名字随意
  • OpenAI Api Key:这里填的是 One API 中的令牌;

这是 One API 中的设置

模型名称用的就是 One API 中的模型名称

接下来点 Additional Parameters,拉到最下面,在 BasePath 中填入 One API 的地址 http://192.168.0.197:3033/v1

LLM Chain

接下来添加 LLM Chain

将节点连接起来

开始聊天

保存之后,点 聊天 按钮

先确认一下身份

接下来就可以进行问诊了

提供 API 接口,方便二开和集成

参考文档

FlowiseAI/Flowise: Drag & drop UI to build your customized LLM flow
地址:https://github.com/FlowiseAI/Flowise

FlowiseAI - Build LLMs Apps Easily
地址:https://flowiseai.com/

Flowise/README-ZH.md at main · FlowiseAI/Flowise
地址:https://github.com/FlowiseAI/Flowise/blob/main/README-ZH.md

Welcome to Flowise | FlowiseAI
地址:https://docs.flowiseai.com/