Flowise保姆级教程:从零开始搭建AI应用
你是不是也遇到过这些情况:想快速把公司文档变成可问答的知识库,但写 LangChain 链太费时间;想给业务系统加个智能助手,又不想从头开发 API;听说 RAG 很火,可光是配置向量库、LLM、提示词就卡在第一步……别急,Flowise 就是为解决这些问题而生的。
它不是另一个需要写代码的大模型框架,而是一个真正“开箱即用”的可视化工作流平台——拖拽节点、连线组合、点击部署,5 分钟就能跑通一个本地 RAG 聊天机器人。更关键的是,它完全开源(MIT 协议)、支持本地运行、兼容 vLLM 加速,连树莓派 4 都能跑起来。
本文不讲抽象概念,不堆技术术语,只带你从零开始:在一台干净的 Linux 服务器上,一步步完成 Flowise 的完整部署、模型接入、RAG 流程搭建,最后导出可用的 API。所有操作均经过实测验证,命令可直接复制粘贴,过程清晰、避坑明确、结果可验证。
1. 为什么选 Flowise?三个真实痛点的解法
在动手之前,先说清楚:Flowise 解决的不是“能不能做”,而是“要不要花三天写代码才能让知识库开口说话”。
1.1 痛点一:LangChain 太重,新手根本无从下手
LangChain 功能强大,但对初学者极不友好。光是初始化一个 LLM、加载文档、切分文本、存入向量库、再组装检索链,就要写上百行代码,稍有参数错位就报错。而 Flowise 把这一切封装成图形化节点:你只需要从左侧工具栏拖一个「Document Loader」、一个「Text Splitter」、一个「Chroma Vector Store」、一个「LLM」,再用鼠标连线,流程就自动构建完成。
不需要 import langchain,不需要写 chain.invoke(),更不需要 debug “ValueError: Expected embedding to be a list”。
1.2 痛点二:模型切换成本高,换一个就得改一堆配置
OpenAI 响应快但贵,Ollama 本地跑但慢,vLLM 吞吐高但难部署……传统方案里,换模型意味着重写初始化逻辑、调整 token 限制、适配不同 API 格式。Flowise 则统一抽象为「LLM 节点」:下拉菜单选 vLLM、填好地址(如 http://localhost:8080/v1),其他全部自动适配。今天用 Qwen2-7B,明天换成 Llama3-8B,只需改一个选项。
1.3 痛点三:演示完就结束,无法真正嵌入业务系统
很多 AI 工具停在“能跑通 demo”就结束了。Flowise 不同——它原生支持一键导出 REST API。你搭好的 RAG 流程,可以立刻变成POST /api/v1/prediction接口,前端调用、后端集成、甚至写进企业微信机器人,都不需要额外开发。
这三点,正是 Flowise 在 GitHub 拿下 45.6k Star 的核心原因:它不追求技术炫技,而是死磕工程落地效率。
2. 部署准备:环境检查与基础依赖安装
Flowise 支持多种部署方式(npm 全局、Docker、Docker Compose),但本文选择源码直启 + vLLM 本地推理组合,原因很实在:
- 完全可控,便于调试和日志追踪;
- 直接对接 vLLM,发挥显卡算力,响应速度比 Ollama 快 3 倍以上;
- 避免 Docker 网络、权限、镜像拉取等常见黑盒问题。
我们以一台全新 CentOS 8 服务器为例(其他 Linux 发行版步骤高度一致),开始部署前,请确认以下三项已满足:
2.1 硬件与系统要求
- GPU:NVIDIA 显卡(推荐 RTX 3090 / A10 / L40S),显存 ≥ 16GB(运行 Qwen2-7B 或 Llama3-8B);
- CPU:≥ 4 核;
- 内存:≥ 16GB(vLLM 和 Flowise 服务共用);
- 系统:CentOS 8 / Ubuntu 22.04 / Debian 12(内核 ≥ 5.4);
- CUDA:已安装 CUDA 12.1+ 和对应版本的 NVIDIA 驱动(执行
nvidia-smi可见 GPU 信息)。
2.2 安装编译依赖与 Node.js 环境
Flowise 源码需编译构建,vLLM 依赖 C++ 编译器和 BLAS 库。执行以下命令一次性安装:
# 更新系统并安装基础编译工具 sudo yum update -y sudo yum groupinstall "Development Tools" -y sudo yum install cmake libopenblas-devel python3-devel git wget curl -y # 安装 Node.js 18(Flowise 官方推荐版本) curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - sudo yum install -y nodejs # 验证安装 node -v # 应输出 v18.x.x npm -v # 应输出 9.x.x注意:不要使用 Node.js 20+,Flowise 当前版本存在兼容性问题;若已安装旧版 Node.js,请先用
nvm或nodesource切换至 18.x。
2.3 安装 Python 3.10+ 与 vLLM
vLLM 是本方案的核心推理引擎,它让本地大模型具备生产级吞吐能力:
# 安装 Python 3.10(CentOS 8 默认为 3.6,需升级) sudo yum install python310 python310-pip python310-devel -y sudo alternatives --set python /usr/bin/python3.10 # 升级 pip 并安装 vLLM(指定 CUDA 版本,此处为 12.1) pip3 install --upgrade pip pip3 install vllm==0.4.2 --extra-index-url https://download.pytorch.org/whl/cu121安装完成后,测试 vLLM 是否正常工作:
python3 -c "from vllm import LLM; print('vLLM ready')"若无报错,说明推理引擎已就绪。
3. Flowise 源码部署与服务启动
Flowise 官方提供 Docker 镜像,但为实现与 vLLM 的深度集成(如共享 GPU、低延迟通信),我们采用源码部署方式,全程可控、日志透明。
3.1 克隆源码并进入项目目录
cd /app git clone https://github.com/FlowiseAI/Flowise.git cd Flowise提示:
/app是自定义工作目录,你可替换为任意路径(如/home/user/flowise),但后续所有路径需同步调整。
3.2 配置环境变量
Flowise 使用.env文件管理配置。复制模板并编辑:
cp packages/server/.env.example packages/server/.env用你喜欢的编辑器打开packages/server/.env,重点修改以下几项:
# 启用 vLLM 模式(关键!) FLOWISE_USE_VLLM=true # 设置 vLLM 服务地址(假设 vLLM 运行在本机 8080 端口) VLLM_BASE_URL=http://localhost:8080 # 设置管理员账号(首次登录必需) FLOWISE_USERNAME=kakajiang@kakajiang.com FLOWISE_PASSWORD=KKJiang123 # 开放外部访问(默认只允许 localhost) FLOWISE_HOST=0.0.0.0 FLOWISE_PORT=3000 # 启用 PostgreSQL 持久化(可选,首次可跳过) # DB_TYPE=postgres # DB_HOST=localhost # DB_PORT=5432 # DB_NAME=flowise # DB_USER=flowise # DB_PASS=flowise关键点说明:
FLOWISE_USE_VLLM=true是启用 vLLM 模式的开关;VLLM_BASE_URL必须与你实际启动 vLLM 的地址一致;FLOWISE_HOST=0.0.0.0允许局域网内其他设备访问 Web 界面。
3.3 安装依赖并构建服务
Flowise 使用 pnpm 管理包依赖,需先全局安装 pnpm:
npm install -g pnpm pnpm install pnpm build构建过程约需 3–5 分钟(取决于网络和 CPU)。成功后你会看到类似输出:
> flowise@2.12.0 build > pnpm run build:server && pnpm run build:ui > flowise@2.12.0 build:server > tsc -p tsconfig.server.json > flowise@2.12.0 build:ui > cd packages/ui && npm ci && npm run build3.4 启动 Flowise 服务
执行以下命令启动服务:
pnpm start此时终端会持续输出日志。等待约 1–2 分钟,直到看到如下关键行:
Flowise server is running on http://localhost:3000 All nodes loaded successfully验证服务是否启动成功:在服务器本地执行
curl http://localhost:3000/health,返回{"status":"UP"}即表示服务已就绪。
4. vLLM 模型服务启动(与 Flowise 协同)
Flowise 本身不包含模型推理能力,它通过 HTTP 调用外部 LLM 服务。我们选用 vLLM,因其启动快、吞吐高、显存占用低。
4.1 下载并量化模型(以 Qwen2-7B-Instruct 为例)
Qwen2-7B 是中文场景表现优异的开源模型,且支持 vLLM 原生加载:
# 创建模型目录 mkdir -p /app/models/qwen2-7b # 使用 huggingface-hub 下载(需提前安装:pip3 install huggingface-hub) huggingface-cli download --resume-download Qwen/Qwen2-7B-Instruct --local-dir /app/models/qwen2-7b替代方案:若网络受限,可提前下载模型文件(.safetensors)到本地,再拷贝至
/app/models/qwen2-7b。
4.2 启动 vLLM 服务
在新终端窗口中执行(注意:必须与 Flowise 同一服务器):
# 启动 vLLM,监听 8080 端口,启用 OpenAI 兼容 API python3 -m vllm.entrypoints.openai.api_server \ --model /app/models/qwen2-7b \ --tensor-parallel-size 1 \ --dtype half \ --gpu-memory-utilization 0.9 \ --host 0.0.0.0 \ --port 8080 \ --enable-prefix-caching启动成功后,你会看到类似日志:
INFO 04-15 10:23:45 api_server.py:222] vLLM API server started on http://0.0.0.0:8080 INFO 04-15 10:23:45 api_server.py:223] OpenAI-compatible API server running on http://0.0.0.0:8080/v1快速验证:执行
curl http://localhost:8080/v1/models,应返回包含qwen2-7b-instruct的 JSON 列表。
4.3 Flowise 与 vLLM 连通性测试
回到 Flowise 终端,观察日志中是否出现:
Successfully connected to vLLM at http://localhost:8080若未出现,请检查:
- vLLM 是否已启动且端口未被占用(
netstat -tuln | grep 8080); - Flowise 的
.env中VLLM_BASE_URL地址是否正确; - 两服务是否在同一服务器(跨机器需确保网络互通)。
5. 构建你的第一个 RAG 应用:从文档到问答机器人
服务全部就绪后,打开浏览器访问http://<你的服务器IP>:3000,输入账号kakajiang@kakajiang.com和密码KKJiang123,即可进入 Flowise 可视化画布。
下面,我们手把手搭建一个「公司内部知识库问答机器人」——它能读取 PDF 文档,自动切分、向量化,并基于用户提问精准召回相关内容后生成答案。
5.1 创建新流程(New Flow)
点击左上角「+ New Flow」→ 输入名称「Company-KB-QA」→ 点击「Create」。
5.2 拖拽并连接核心节点
从左侧节点栏依次拖入以下 5 个节点,并按顺序连线(箭头方向即数据流向):
| 节点类型 | 配置要点 |
|---|---|
| Document Loader | 类型选PDF;路径填/app/docs/company_policy.pdf(提前准备好一份 PDF) |
| Text Splitter | 分割器选RecursiveCharacterTextSplitter;chunkSize 设为500;chunkOverlap 设为50 |
| Chroma Vector Store | Embedding 模型选HuggingFaceEmbeddings(自动下载BAAI/bge-small-zh-v1.5);Collection Name 填company_kb |
| Retrieval QA Chain | LLM 选vLLM(自动识别已配置的 vLLM 服务);Prompt 模板使用默认的 RAG 提示词 |
| Chat Output | 无需配置,作为最终输出节点 |
连线技巧:将上一节点的绿色输出口(●)拖到下一节点的灰色输入口(○)即可。Flowise 会自动校验类型兼容性。
5.3 上传文档并测试问答
点击右上角「Save」保存流程 → 点击「Run」按钮(或直接点击画布右上角「Play」图标)。
- 第一次运行会触发:PDF 解析 → 文本切分 → 向量嵌入 → 存入 Chroma → 构建索引,耗时约 30–60 秒;
- 索引完成后,在右侧「Chat」面板输入问题,例如:
“员工出差报销标准是多少?”
“试用期是多久?”
你会看到 Flowise 自动检索相关段落,并由 Qwen2-7B 生成结构化回答,整个过程 < 3 秒。
效果亮点:它不只是关键词匹配,而是理解语义后生成自然语言答案,比如对“报销标准”,会准确提取 PDF 中的金额、票据要求、审批流程等要素,而非简单返回原文片段。
6. 进阶实践:导出 API、添加认证、部署到生产环境
搭建完原型只是开始。Flowise 的真正价值在于无缝衔接生产系统。
6.1 一键导出 REST API
在流程编辑页,点击右上角「⋯」→ 「Export as API」→ 选择「REST API」→ 点击「Generate」。
系统将生成一个标准 OpenAPI 3.0 规范的 JSON 文件,并给出调用示例:
curl -X 'POST' 'http://<your-server>:3000/api/v1/prediction/xxx-uuid' \ -H 'Content-Type: application/json' \ -d '{"question":"员工出差报销标准是多少?"}'返回 JSON 包含text字段,即模型生成的答案。你可以将此接口直接集成到企业微信机器人、内部 OA 系统或客服后台。
6.2 添加 JWT 认证(保护 API)
为防止未授权调用,可在.env中启用认证:
# 在 packages/server/.env 中添加 FLOWISE_AUTH_ENABLED=true FLOWISE_JWT_SECRET=your-super-secret-key-change-it重启 Flowise 后,所有 API 请求需携带 Header:
Authorization: Bearer <JWT_TOKEN>Token 可通过 Flowise 提供的/auth/login接口获取(需管理员账号)。
6.3 生产环境部署建议
- 进程守护:使用
pm2管理 Flowise 进程,避免终端关闭导致服务中断:npm install -g pm2 pm2 start pnpm --name "flowise" -- start pm2 startup # 设置开机自启 - 反向代理:用 Nginx 将
https://ai.yourcompany.com代理到http://localhost:3000,启用 HTTPS; - 数据库持久化:取消
.env中 PostgreSQL 配置的注释,Flowise 会自动将流程、用户、聊天记录存入数据库,避免重启丢失; - 资源隔离:为 vLLM 和 Flowise 分配独立 GPU 显存(通过
CUDA_VISIBLE_DEVICES=0控制)。
7. 常见问题与避坑指南
在真实部署中,你可能会遇到以下典型问题,这里给出精准解决方案:
7.1 问题:Flowise 启动报错Error: Cannot find module 'vllm'
原因:Flowise 服务进程未正确识别 vLLM Python 环境。
解决:确保pnpm start与python3 -m vllm...使用同一 Python 环境。在 Flowise 根目录执行:
export PYTHONPATH="/usr/lib64/python3.10/site-packages:$PYTHONPATH" pnpm start7.2 问题:vLLM 启动失败,报错CUDA out of memory
原因:模型过大或显存被其他进程占用。
解决:
- 降低
--gpu-memory-utilization至0.7; - 使用量化模型(如
--quantization awq,需提前转换); - 执行
nvidia-smi查看显存占用,kill -9掉无关进程。
7.3 问题:RAG 回答不准确,总是“我不知道”
原因:向量库未正确建立,或检索未命中。
排查步骤:
- 在 Flowise 画布中,单独运行
Document Loader→Text Splitter→Chroma Vector Store三节点,查看日志是否输出Added X documents to collection; - 在
Chroma Vector Store节点设置中,点击「Test Connection」,确认能列出company_kb集合; - 在
Retrieval QA Chain节点中,勾选「Return Source Documents」,运行后查看返回的sourceDocuments是否为空。
7.4 问题:Web 界面打不开,显示Connection refused
原因:Flowise 未监听外部 IP 或防火墙拦截。
解决:
- 检查
.env中FLOWISE_HOST=0.0.0.0; - 执行
sudo firewall-cmd --permanent --add-port=3000/tcp→sudo firewall-cmd --reload; - 在服务器执行
curl http://localhost:3000,若通则证明服务正常,问题在防火墙或网络策略。
8. 总结:Flowise 不是玩具,而是生产力杠杆
回看整个过程:从零开始,我们完成了环境准备、vLLM 推理服务部署、Flowise 源码构建、RAG 流程搭建、API 导出与生产加固。全程没有一行 LangChain 代码,没有手动编写任何 API 接口,却得到了一个可商用、可扩展、可监控的 AI 应用。
Flowise 的本质,是把 AI 工程中的“重复劳动”标准化、可视化、产品化。它不替代工程师,而是让工程师从胶水代码中解放出来,专注在真正创造价值的地方:设计更好的提示词、优化检索策略、定义业务规则、评估回答质量。
如果你正在寻找一个既能快速验证想法、又能平滑过渡到生产的 AI 工作流平台,Flowise 值得成为你的首选。它足够轻量,却足够强大;足够简单,却不失专业。
现在,就去你的服务器上敲下第一行git clone吧。5 分钟后,你公司的知识库,就能开口回答问题了。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。