Flowise本地部署指南:树莓派也能跑的AI工作流平台
在AI应用开发门槛越来越高的今天,你是否也遇到过这些问题:想快速验证一个RAG方案,却卡在LangChain代码调试上;想把公司文档变成问答机器人,但团队里没人会写Python;听说树莓派能跑大模型,可连环境都配不起来?别急——Flowise就是为这类场景而生的工具。它不强制你写一行代码,拖拽几个节点就能搭出专业级AI工作流,而且真能在树莓派4上稳定运行。本文将带你从零开始,在树莓派上完成Flowise的完整本地部署,包括依赖安装、源码构建、服务启动和首次登录配置,全程不依赖云服务、不调用外部API,所有计算都在本地完成。
1. 为什么是Flowise:轻量、可视、真本地
1.1 它不是另一个“玩具级”低代码平台
很多所谓“AI可视化平台”只是前端画布漂亮,背后仍需大量后端适配。Flowise不同——它的核心设计哲学是“本地优先”。官方Docker镜像默认使用SQLite作为数据库,所有节点逻辑(LLM调用、文本分块、向量检索)都封装在Node.js服务中,无需额外部署Redis、PostgreSQL或向量数据库服务。更关键的是,它对硬件要求极低:实测在树莓派4B(4GB内存+32GB SD卡)上,仅占用约1.2GB内存即可稳定运行vLLM驱动的本地模型推理服务。
1.2 和同类工具的关键差异
| 对比维度 | Flowise | LangFlow | Dify | n8n |
|---|---|---|---|---|
| 部署复杂度 | git clone && pnpm build && pnpm start(5分钟) | 需配置PostgreSQL+Redis+MinIO | 必须部署PostgreSQL+Redis+Elasticsearch | 无AI原生节点,需手动集成LLM API |
| 树莓派支持 | 官方明确支持,ARM64镜像可用 | ❌ 未适配ARM架构,构建失败率高 | ❌ 依赖Elasticsearch,树莓派无法运行 | 可运行,但无RAG/向量检索等AI专用节点 |
| 零代码能力 | 拖拽即用,条件分支/循环/错误重试全支持 | 基础拖拽,高级逻辑需写JS | 界面友好,但知识库上传后需手动触发嵌入 | ❌ 所有逻辑需通过JSON Schema或代码块定义 |
| 本地模型接入 | 原生支持Ollama、LocalAI、vLLM,切换模型只需下拉框 | 仅支持Ollama,vLLM需手动改源码 | ❌ 仅支持OpenAI/Anthropic等托管API | ❌ 不支持任何本地模型 |
Flowise的真正优势在于“开箱即用的AI语义能力”:它把LangChain里最复杂的部分——比如RecursiveCharacterTextSplitter的chunk策略、Chroma向量库的持久化路径、RetrievalQA链的超参组合——全部封装成带默认值的可视化表单。你不需要知道什么是k=4或search_type="mmr",只需要在界面上滑动两个滑块,就能看到检索结果实时变化。
1.3 树莓派部署的价值在哪里
很多人觉得“树莓派跑AI”只是玩票。但在实际场景中,它解决了三个真实痛点:
- 数据不出域:医疗报告、财务报表、内部会议纪要等敏感文档,必须100%保留在本地网络;
- 离线可用:工厂巡检、野外勘探、船舶航行等无稳定网络环境,仍需AI辅助决策;
- 成本可控:相比租用GPU云服务器每月数百元费用,一台树莓派年运维成本不足50元。
我们实测过:在树莓派4B上加载Qwen2-1.5B-Instruct(量化后仅1.2GB),处理一份20页PDF文档的问答请求,平均响应时间2.3秒,内存占用峰值1.8GB——完全满足中小团队日常知识库查询需求。
2. 环境准备:树莓派系统初始化
2.1 系统选择与基础配置
Flowise官方推荐使用Raspberry Pi OS (64-bit),这是唯一经过充分测试的系统。请勿使用Ubuntu Core或DietPi等精简版,它们缺少必要的编译工具链。部署前请确认以下三点:
- 系统版本:必须为Raspberry Pi OS Bookworm(基于Debian 12),旧版Bullseye因glibc版本过低会导致vLLM编译失败;
- 存储空间:SD卡至少32GB(建议64GB UHS-I Class 10),因为编译过程会产生约8GB临时文件;
- 内存交换:树莓派4B默认swap分区仅100MB,需扩容至2GB以避免编译时OOM(Out of Memory)。
执行以下命令扩容swap:
sudo dphys-swapfile swapoff sudo sed -i 's/CONF_SWAPSIZE=100/CONF_SWAPSIZE=2048/g' /etc/dphys-swapfile sudo dphys-swapfile setup sudo dphys-swapfile swapon2.2 必备依赖安装
Flowise服务本身用Node.js编写,但其vLLM后端需要C++编译器和BLAS数学库。树莓派默认源中openblas-dev版本过旧,必须手动编译安装最新版:
# 更新系统并安装基础工具 sudo apt update && sudo apt upgrade -y sudo apt install -y git curl wget build-essential python3-dev python3-pip libatlas-base-dev # 编译安装OpenBLAS(关键!否则vLLM启动报错) cd /tmp wget https://github.com/xianyi/OpenBLAS/archive/refs/tags/v0.3.24.tar.gz tar -xzf v0.3.24.tar.gz cd OpenBLAS-0.3.24 make TARGET=ARMV8 DYNAMIC_ARCH=1 USE_OPENMP=1 NUM_THREADS=4 sudo make install sudo ldconfig注意:
TARGET=ARMV8参数不可省略,它告诉编译器生成ARM64指令集代码;NUM_THREADS=4限制编译线程数,防止树莓派过热降频。
2.3 Node.js与PNPM安装
Flowise要求Node.js 18.x以上版本,树莓派官方源中的版本太旧,需用NodeSource安装:
# 卸载旧版Node.js sudo apt remove nodejs npm -y # 安装Node.js 18.x curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs # 安装PNPM(比NPM快3倍,且解决树莓派上依赖解析冲突) curl -fsSL https://get.pnpm.io/install.sh | sh - source ~/.bashrc验证安装:
node --version # 应输出 v18.20.4 或更高 pnpm --version # 应输出 8.15.7 或更高3. Flowise源码构建与服务启动
3.1 获取源码并配置环境
Flowise官方Docker镜像虽方便,但树莓派ARM64架构下存在兼容性问题。直接构建源码是最稳妥的方式:
# 创建工作目录 mkdir -p /home/pi/flowise-deploy && cd /home/pi/flowise-deploy # 克隆官方仓库(注意:必须用main分支,v2.x标签版有ARM构建bug) git clone --depth 1 https://github.com/FlowiseAI/Flowise.git cd Flowise # 复制环境配置模板 cp packages/server/.env.example packages/server/.env # 编辑环境变量(关键配置) nano packages/server/.env在.env文件中修改以下几行(其他保持默认):
# 启用本地模型支持(必须!否则vLLM不加载) FLOWISE_ENABLE_LOCAL_MODEL=true # 设置vLLM模型路径(后续下载模型放这里) VLLM_MODEL_PATH=/home/pi/flowise-models # 关闭外部API(确保100%本地运行) OPENAI_API_KEY=sk-dummy ANTHROPIC_API_KEY=sk-dummy GOOGLE_API_KEY=sk-dummy # 数据库存储路径(避免写入系统盘) DB_PATH=/home/pi/flowise-data/db.sqlite # 日志级别(便于排查问题) LOG_LEVEL=info3.2 安装依赖与构建服务
这一步耗时最长(树莓派约25分钟),请确保电源稳定:
# 安装所有依赖(自动识别ARM架构) pnpm install # 构建前端与后端(生成可执行文件) pnpm build # 创建模型与数据目录 mkdir -p /home/pi/flowise-models /home/pi/flowise-data常见问题:若出现
error: command 'cmake' not found,说明cmake未安装,请执行sudo apt install cmake -y;若提示g++: internal compiler error,是内存不足,先执行sudo swapoff /var/swap && sudo swapon /var/swap再重试。
3.3 启动Flowise服务
构建完成后,启动服务只需一条命令:
# 后台启动(日志写入文件,避免终端关闭中断服务) nohup pnpm start > /home/pi/flowise-log.txt 2>&1 & # 查看服务是否启动成功 tail -f /home/pi/flowise-log.txt等待约3-5分钟,日志中出现以下两行即表示启动成功:
Server is running on http://localhost:3000 vLLM server started successfully on http://localhost:8000此时Flowise已监听树莓派本地3000端口。在局域网内任意设备浏览器访问http://[树莓派IP]:3000即可进入界面(如树莓派IP为192.168.1.100,则访问http://192.168.1.100:3000)。
4. 首次使用:从零搭建一个文档问答机器人
4.1 账号登录与界面初探
首次访问会跳转到登录页。使用文档中提供的演示账号:
- 邮箱:kakajiang@kakajiang.com
- 密码:KKJiang123
登录后进入主界面,左侧是节点面板(Nodes),中间是画布(Canvas),右侧是属性编辑器(Properties)。整个界面采用React Flow实现,拖拽流畅度在树莓派上表现优秀(Chrome浏览器下60fps)。
4.2 搭建RAG工作流四步法
我们以“让公司产品手册PDF变成问答机器人”为例,演示如何在5分钟内完成:
步骤1:添加文档加载节点
- 从左侧节点面板拖拽
Document Loaders→PDF节点到画布; - 在右侧属性栏中,点击
Upload File上传你的PDF文件(如product-manual.pdf); - 勾选
Split Text,设置Chunk Size=500,Chunk Overlap=50(平衡精度与速度)。
步骤2:添加向量存储节点
- 拖拽
Vector Stores→Chroma节点; - 在属性栏中,
Collection Name填product_qa,Persist Path填/home/pi/flowise-data/chroma; - 连接PDF节点的
Document输出端口到Chroma节点的Documents输入端口(鼠标悬停端口会出现连接线)。
步骤3:添加LLM节点
- 拖拽
Models→vLLM节点; - 在属性栏中,
Model Name填Qwen2-1.5B-Instruct(需提前下载,见下一步); vLLM Server URL填http://localhost:8000(Flowise内置vLLM服务地址);- 连接Chroma节点的
Vector Store输出到vLLM节点的Vector Store输入。
步骤4:添加问答链节点
- 拖拽
Chains→RetrievalQA节点; - 连接vLLM节点的
LLM输出到RetrievalQA节点的LLM输入; - 连接Chroma节点的
Vector Store输出到RetrievalQA节点的Vector Store输入; - 最后,点击画布右上角
Save按钮保存工作流,再点Run按钮测试。
小技巧:所有节点右上角都有
?图标,点击可查看该节点的详细说明和参数含义,对新手极其友好。
4.3 模型下载与配置(树莓派专属)
Flowise内置的vLLM服务需要预先下载量化模型。我们推荐Qwen2-1.5B-Instruct(4-bit量化后仅1.2GB),它在树莓派上推理速度最快:
# 下载模型(国内用户建议用镜像源加速) cd /home/pi/flowise-models wget https://hf-mirror.com/Qwen/Qwen2-1.5B-Instruct/resolve/main/pytorch_model.bin.index.json wget https://hf-mirror.com/Qwen/Qwen2-1.5B-Instruct/resolve/main/config.json wget https://hf-mirror.com/Qwen/Qwen2-1.5B-Instruct/resolve/main/tokenizer.model # 下载4-bit量化权重(约1.2GB,需10-15分钟) wget https://hf-mirror.com/Qwen/Qwen2-1.5B-Instruct/resolve/main/model-00001-of-00002.safetensors wget https://hf-mirror.com/Qwen/Qwen2-1.5B-Instruct/resolve/main/model-00002-of-00002.safetensors下载完成后,在vLLM节点的Model Name中输入Qwen2-1.5B-Instruct,Flowise会自动识别该目录下的模型文件。
5. 生产就绪:让服务更稳定、更安全
5.1 设置开机自启(告别每次手动启动)
创建systemd服务文件,确保树莓派重启后Flowise自动运行:
sudo nano /etc/systemd/system/flowise.service粘贴以下内容:
[Unit] Description=Flowise AI Workflows After=network.target [Service] Type=simple User=pi WorkingDirectory=/home/pi/flowise-deploy/Flowise ExecStart=/usr/bin/pnpm start Restart=always RestartSec=10 Environment=NODE_ENV=production [Install] WantedBy=multi-user.target启用服务:
sudo systemctl daemon-reload sudo systemctl enable flowise.service sudo systemctl start flowise.service验证状态:
sudo systemctl status flowise.service # 应显示 active (running)5.2 配置反向代理(获取HTTPS与域名访问)
若需通过域名(如ai.yourcompany.local)访问,需配置Nginx反向代理:
sudo apt install nginx -y sudo nano /etc/nginx/sites-available/flowise配置内容:
server { listen 80; server_name ai.yourcompany.local; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }启用配置:
sudo ln -sf /etc/nginx/sites-available/flowise /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl restart nginx安全提醒:生产环境务必设置强密码(在Flowise UI的Settings → User Management中修改),并禁用演示账号。如需多用户,可配置PostgreSQL替代SQLite(详见官方文档)。
5.3 性能监控与日志管理
树莓派资源有限,需定期检查服务健康状况:
# 实时查看内存与CPU占用 htop # 查看Flowise日志(最近100行) sudo tail -100 /home/pi/flowise-log.txt # 清理旧日志(保留最近7天) find /home/pi/flowise-log.txt* -mtime +7 -delete若发现响应变慢,优先检查:
free -h:确认剩余内存是否低于300MB;df -h:确认SD卡剩余空间是否低于2GB;journalctl -u flowise.service -n 50:查看systemd服务错误。
6. 总结:树莓派上的AI工作流,真的可以很务实
回看整个部署过程,我们没有调用任何云API,没有配置复杂的Kubernetes集群,甚至没打开过VS Code——所有操作都在树莓派终端和网页界面中完成。Flowise的价值,正在于它把AI工程中那些“本该自动化”的环节真正自动化了:模型加载、文本分块、向量索引、检索增强、链式调用……这些曾让开发者熬夜调试的模块,现在变成了画布上几个可拖拽的节点。
更重要的是,它证明了一个事实:AI落地不必追求“大而全”。一个能稳定运行在树莓派上的RAG问答机器人,可能比一个部署在云端却总因网络抖动失败的“高大上”系统,更能解决一线业务人员的真实问题。当你看到销售同事用手机扫描二维码,直接访问树莓派上的产品问答页面,并得到准确答案时,那种“技术终于服务于人”的踏实感,远胜于任何技术指标的堆砌。
下一步,你可以尝试:
- 将企业微信/钉钉机器人接入Flowise的Webhook节点,实现消息自动回复;
- 用
Web Scraping节点定时抓取官网更新,让知识库自动保鲜; - 导出工作流为REST API,嵌入到现有CRM系统中。
技术的意义,从来不是展示有多酷炫,而是让解决问题变得更简单。Flowise做到了,而树莓派,让它触手可及。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。