news 2026/4/17 22:41:17

Flowise生产部署教程:将AI工作流变成可调用API

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flowise生产部署教程:将AI工作流变成可调用API

Flowise生产部署教程:将AI工作流变成可调用API

Flowise 不是又一个需要写代码的 LangChain 工程项目,而是一个真正让业务同学、产品、运营甚至非技术同事也能上手搭建 AI 应用的平台。它把复杂的 LLM 流程——比如 RAG 检索增强生成、多步 Agent 决策、工具调用链——变成画布上的节点和连线。更关键的是,它不只停留在“能跑”,而是原生支持一键导出为标准 REST API,让 AI 能力无缝嵌入你现有的系统:CRM、客服后台、内部知识库、小程序后端……都不再需要额外开发胶水代码。

本文不是从 GitHub clone 开始的玩具式体验,而是一份面向真实生产环境的部署指南。我们将聚焦三个核心问题:

  • 如何在服务器上稳定、安全、可维护地运行 Flowise?
  • 如何对接本地高性能推理引擎(vLLM),摆脱对 OpenAI 的依赖?
  • 如何把画布里拖出来的那个“问答机器人”,变成一个别人能直接curl调用的 API?

全程不碰 Docker Compose 的默认配置陷阱,不跳过数据库持久化和身份认证,不回避日志、监控、反向代理等运维细节。目标很明确:部署完,它就能上线,而不是“先跑起来再说”。

1. 理解 Flowise 的生产就绪能力

在动手前,先厘清 Flowise 为什么能走出实验室,走进生产环境。它的设计哲学不是“最小可行原型”,而是“开箱即用的生产级应用”。

1.1 它不是前端玩具,而是一个完整服务

很多可视化工具只提供 UI,后端逻辑仍需自己写。Flowise 不同:它本身就是一个 Node.js 服务,内置了完整的 HTTP 服务器、数据库抽象层、用户认证模块和 API 网关。你部署的不是一个“前端页面”,而是一个能独立处理请求、管理状态、存储数据的后端服务。

它的核心能力包括:

  • 全栈一体化:前端画布 + 后端执行引擎 + API 接口全部打包在一个进程中。
  • 零代码流程定义:所有逻辑通过 JSON 格式的 Flow 配置文件描述,天然适合版本控制(Git)和 CI/CD。
  • API 优先设计:每个工作流不仅能在 UI 中测试,还能被赋予唯一的 endpoint,如/api/v1/prediction/123abc,供外部系统调用。
  • 企业级扩展点:支持 PostgreSQL 替代默认 SQLite,支持 JWT 认证,支持自定义节点插件,支持日志分级输出。

这意味着,你不需要为 Flowise 再搭一套 Flask/FastAPI 来暴露接口,它自己就是那个 API 服务。

1.2 vLLM 集成:为什么选择它而非 Ollama 或 HuggingFace Transformers?

镜像描述中提到“基于 vLLM 的本地模型工作流”,这绝非噱头。vLLM 是当前开源社区公认的、在 GPU 上推理速度最快的 LLM 引擎之一,其核心优势在于 PagedAttention 内存管理技术,能将吞吐量提升 2-4 倍,同时显著降低显存碎片。

对比其他常见本地推理方案:

  • Ollama:易用性极佳,但默认使用 llama.cpp,CPU/GPU 切换不够灵活,高并发下延迟抖动明显。
  • Transformers + accelerate:功能最全,但启动慢、内存占用高、缺乏细粒度的批处理控制。
  • vLLM:专为服务化设计,原生支持 OpenAI 兼容 API(/v1/chat/completions),与 Flowise 的 LLM 节点无缝对接;支持动态批处理、连续批处理(Continuous Batching)、量化(AWQ、GPTQ);官方 Docker 镜像开箱即用。

因此,在生产环境中,vLLM 是 Flowise 对接本地大模型的事实标准。它让 Flowise 不再是“演示工具”,而成为能承载真实业务流量的 AI 网关。

1.3 生产部署的三大支柱

一个能上线的 Flowise 实例,必须同时满足以下三点,缺一不可:

支柱问题Flowise 解决方案
稳定性进程意外退出、OOM 崩溃、长时间运行后性能下降使用pm2systemd进行进程守护;配置NODE_OPTIONS=--max-old-space-size=8192防止内存溢出;启用DEBUG=false减少日志开销
安全性默认无密码访问、敏感 API 密钥硬编码、未加密通信启用FLOWISE_USERNAME/FLOWISE_PASSWORD;配置FLOWISE_SECRETKEY_OVERWRITE加密 Flow 数据;通过 Nginx 反向代理强制 HTTPS
可维护性配置散落在.env、UI 设置、数据库中;升级困难;无法审计操作日志所有配置统一由.env文件管理;Flow 数据库存储在独立路径(如/data/flowise.db);日志输出到文件并按天轮转

忽略其中任何一点,都意味着你的 AI 工作流只是个“沙盒”,离生产还有距离。

2. 服务器环境准备与基础部署

我们以一台 Ubuntu 22.04 服务器(4C8G,1x NVIDIA T4 GPU)为例,进行生产级部署。整个过程分为三步:环境初始化、vLLM 服务启动、Flowise 主服务部署。

2.1 系统依赖与 GPU 驱动检查

首先确保基础环境就绪:

# 更新系统并安装必要编译工具 sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential cmake libopenblas-dev python3-pip python3-venv git curl wget # 检查 NVIDIA 驱动和 CUDA 是否可用(vLLM 依赖) nvidia-smi # 输出应显示 GPU 状态,且 Driver Version >= 515,CUDA Version >= 11.8 # 验证 nvidia-container-toolkit(Docker GPU 支持) sudo docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

如果nvidia-smi报错,请先安装驱动;如果 Docker GPU 报错,请参考 NVIDIA Container Toolkit 安装指南。

2.2 启动 vLLM 推理服务(OpenAI 兼容模式)

vLLM 服务将作为 Flowise 的“大脑”,所有 LLM 节点的请求最终都会转发给它。我们使用官方 Docker 镜像,以保证环境一致性。

# 创建 vLLM 工作目录 mkdir -p /data/vllm cd /data/vllm # 下载一个轻量级但效果不错的模型(Qwen2-1.5B-Instruct,约 1.2GB 显存) wget https://huggingface.co/Qwen/Qwen2-1.5B-Instruct/resolve/main/pytorch_model.bin -O qwen2-1.5b-instruct.bin # 启动 vLLM 服务,监听 8000 端口,暴露 OpenAI 兼容 API sudo docker run -d \ --name vllm-server \ --gpus all \ --shm-size=1g \ --ulimit memlock=-1 \ --ulimit stack=67108864 \ -p 8000:8000 \ -v $(pwd):/models \ --restart unless-stopped \ vllm/vllm-openai:latest \ --model /models/qwen2-1.5b-instruct \ --tensor-parallel-size 1 \ --dtype half \ --enable-prefix-caching \ --max-model-len 4096 \ --port 8000

验证 vLLM 是否就绪
curl http://localhost:8000/v1/models应返回包含qwen2-1.5b-instruct的 JSON。
curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ -d '{"model": "qwen2-1.5b-instruct", "messages": [{"role": "user", "content": "你好"}]}'
应返回一段流畅的中文回复。

2.3 部署 Flowise 主服务(Node.js 方式)

虽然 Docker 部署简单,但在生产环境中,Node.js 直接部署更利于调试、监控和资源限制。我们采用pm2进行进程管理。

# 创建 Flowise 部署目录 sudo mkdir -p /opt/flowise sudo chown $USER:$USER /opt/flowise cd /opt/flowise # 克隆官方仓库(注意:使用 release 分支,避免不稳定 commit) git clone --branch v2.52.0 https://github.com/FlowiseAI/Flowise.git . pnpm install --no-frozen-lockfile # 构建生产包 pnpm build # 复制并编辑 .env 配置文件 cp packages/server/.env.example packages/server/.env nano packages/server/.env

关键配置项修改如下(请根据实际环境调整):

# 服务端口,建议不要用默认 3000,避免冲突 PORT=3001 # 数据库:生产环境务必使用 PostgreSQL!SQLite 仅限开发 DATABASE_TYPE=postgres DATABASE_PORT=5432 DATABASE_HOST=localhost DATABASE_NAME=flowise DATABASE_USER=flowise_user DATABASE_PASSWORD=your_strong_password # 用户认证:强制开启,否则任何人都能访问你的工作流 FLOWISE_USERNAME=admin FLOWISE_PASSWORD=YourSecurePassword123! # 加密密钥:用于加密 Flow 中的敏感字段(如 API Key) FLOWISE_SECRETKEY_OVERWRITE=your_32_byte_secret_key_here_1234567890ab # 日志:输出到文件,便于运维查看 LOG_LEVEL=info LOG_PATH=/var/log/flowise # 关闭调试模式(DEBUG=true 会极大影响性能) DEBUG=false # 指向我们刚启动的 vLLM 服务 OPENAI_BASE_URL=http://localhost:8000/v1 # 注意:这里不填 OPENAI_API_KEY,因为 vLLM 不需要

重要安全提示

  • FLOWISE_SECRETKEY_OVERWRITE必须是 32 字节的随机字符串(可用openssl rand -hex 32生成)。
  • DATABASE_PASSWORDFLOWISE_PASSWORD必须强密码,且两者不能相同。
  • OPENAI_BASE_URL指向的是 vLLM 的地址,不是 OpenAI 官方地址。

2.4 初始化 PostgreSQL 并启动服务

# 安装 PostgreSQL(Ubuntu) sudo apt install -y postgresql postgresql-contrib sudo systemctl enable postgresql # 切换到 postgres 用户创建数据库和用户 sudo -u postgres psql <<EOF CREATE DATABASE flowise; CREATE USER flowise_user WITH PASSWORD 'your_strong_password'; GRANT ALL PRIVILEGES ON DATABASE flowise TO flowise_user; \q EOF # 启动 Flowise 服务(使用 pm2 守护) pnpm start:server # 将 pm2 设置为开机自启 npx pm2 startup npx pm2 save # 查看服务状态 npx pm2 status # 应看到 flowise-server 状态为 online

此时,访问http://your-server-ip:3001,输入admin/YourSecurePassword123!即可登录 Flowise UI。

3. 构建并发布第一个生产级 API 工作流

登录 UI 后,我们不再做“Hello World”式演示,而是构建一个真实场景:公司内部知识库问答 API。它将接收用户提问,从向量数据库中检索相关文档,并用本地大模型生成精准回答。

3.1 创建 RAG 工作流(拖拽式)

  1. 点击左上角+ New Flow,命名为Internal-KB-QA

  2. 从左侧节点栏拖入以下节点,并按顺序连线:

    • Document(数据源)→ 选择Text,粘贴一段公司内部 FAQ 文本(或上传 PDF)。
    • RecursiveCharacterTextSplitter(文本切分)→ 设置chunkSize=500,chunkOverlap=50
    • HNSWLib(向量存储)→Embedding选择HuggingFaceEmbeddingsmodelNamesentence-transformers/all-MiniLM-L6-v2(轻量高效)。
    • ChatModel(大模型)→Model TypeOpenAIBase URLhttp://localhost:8000/v1Model Nameqwen2-1.5b-instruct
    • Prompt Template(提示词)→ 输入标准 RAG 提示:
      你是一个专业的公司内部助手。请根据以下检索到的上下文,准确、简洁地回答用户问题。如果上下文没有相关信息,请说“我暂时无法回答这个问题”。 上下文: {context} 问题:{question} 回答:
    • RetrievalQA(RAG 链)→ 将VectorStoreChatModelPromptTemplate连入此节点。
  3. 点击右上角Save,Flowise 会自动将该工作流保存到 PostgreSQL。

3.2 发布为 REST API

这是 Flowise 最强大的生产特性。无需写一行后端代码:

  1. 在 Flow 编辑页,点击右上角...Export as API
  2. 系统会弹出一个对话框,显示该 Flow 的唯一 ID(如a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8)和调用方式。
  3. 复制这个 ID,它就是你的 API 的“身份证”。

现在,你可以用任何语言调用它:

# 使用 curl 调用(替换 YOUR_FLOW_ID) curl -X POST "http://your-server-ip:3001/api/v1/prediction/YOUR_FLOW_ID" \ -H "Content-Type: application/json" \ -d '{ "question": "我们的报销流程是怎样的?" }'

响应体将是一个 JSON,包含text字段,即模型生成的答案。

生产就绪验证

  • 该 API 是无状态的,可水平扩展(部署多个 Flowise 实例,前面加负载均衡)。
  • 请求体和响应体完全符合 OpenAPI 规范,可直接导入 Postman 或 Swagger UI。
  • 所有日志会记录在/var/log/flowise,包含请求时间、耗时、错误堆栈。

3.3 配置 Nginx 反向代理与 HTTPS(可选但强烈推荐)

为了安全和专业,应通过 Nginx 暴露服务,并启用 HTTPS:

# /etc/nginx/sites-available/flowise server { listen 80; server_name ai.yourcompany.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name ai.yourcompany.com; ssl_certificate /etc/letsencrypt/live/ai.yourcompany.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/ai.yourcompany.com/privkey.pem; location / { proxy_pass http://127.0.0.1:3001; 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; proxy_cache_bypass $http_upgrade; } # API 路径单独配置,允许 CORS(供前端调用) location /api/ { proxy_pass http://127.0.0.1:3001; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization'; } }

启用配置后:sudo nginx -t && sudo systemctl reload nginx

4. 运维与进阶:让 Flowise 真正“生产就绪”

部署完成只是开始。一个可持续演进的 AI 工作流平台,还需要以下运维保障。

4.1 日志与监控

Flowise 默认日志较简略。我们将其接入系统日志,便于集中管理:

# 创建日志轮转配置 sudo tee /etc/logrotate.d/flowise <<'EOF' /var/log/flowise/*.log { daily missingok rotate 30 compress delaycompress notifempty create 644 flowise flowise sharedscripts postrotate if [ -f /var/run/flowise.pid ]; then kill -USR1 \`cat /var/run/flowise.pid\` fi endscript } EOF # 修改 pm2 启动脚本,将日志重定向到指定文件 npx pm2 start ecosystem.config.js --env production

同时,可使用npx pm2 monit实时查看内存、CPU 占用,或集成 Prometheus + Grafana 进行指标监控。

4.2 持续集成与 Flow 版本管理

Flowise 的 Flow 配置以 JSON 存储在数据库中,但这不利于协作和回滚。最佳实践是:

  1. 在 Flowise UI 中,点击SettingsExport Flows,将所有 Flow 导出为.json文件。
  2. 将这些文件放入 Git 仓库(如flowise-flows/目录)。
  3. 编写一个简单的 Python 脚本,在 CI 流水线中,当 Git 仓库更新时,自动调用 Flowise 的 Admin API(需 Token)将新 Flow 导入。

这样,你的 AI 工作流就和代码一样,具备了完整的版本历史、Code Review 和一键回滚能力。

4.3 安全加固 checklist

最后,一份生产环境安全自查清单:

  • [ ]FLOWISE_USERNAMEFLOWISE_PASSWORD已设置,且强度达标(大小写字母+数字+符号,长度≥12)。
  • [ ]FLOWISE_SECRETKEY_OVERWRITE已设置,且为 32 字节随机密钥。
  • [ ]DATABASE_TYPE已设为postgresDATABASE_PASSWORD已设为强密码。
  • [ ]DEBUG已设为false
  • [ ] 服务端口(3001)未在防火墙开放,仅通过 Nginx(443)反向代理暴露。
  • [ ] Nginx 已配置 HTTPS,SSL 证书有效。
  • [ ]pm2已设置开机自启,且npx pm2 save已执行。
  • [ ] 日志已配置轮转,路径/var/log/flowise权限为644,属主为flowise用户。

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 16:24:07

Clawdbot部署Qwen3:32B保姆级教程:Linux环境一键配置

Clawdbot部署Qwen3:32B&#xff1a;Linux环境一键配置实战指南 1. 为什么选择ClawdbotQwen3:32B组合 在本地大模型服务部署中&#xff0c;很多人会纠结于“直接跑原生模型”还是“用代理网关”。实际用下来&#xff0c;Clawdbot确实解决了几个关键痛点&#xff1a;它不依赖第…

作者头像 李华
网站建设 2026/4/14 18:13:33

Qwen3-ASR多模态应用:语音与文本的联合分析系统

Qwen3-ASR多模态应用&#xff1a;语音与文本的联合分析系统 1. 当语音不再只是声音&#xff0c;而是可分析的数据流 你有没有试过听完一场两小时的会议录音&#xff0c;再花三小时逐字整理成文字&#xff1f;或者面对客户长达四十分钟的语音反馈&#xff0c;只能靠人工反复听…

作者头像 李华
网站建设 2026/4/15 11:52:55

多模态检索新体验:通义千问3-VL-Reranker-8B保姆级部署指南

多模态检索新体验&#xff1a;通义千问3-VL-Reranker-8B保姆级部署指南 1. 为什么你需要这个多模态重排序服务 你是否遇到过这样的问题&#xff1a; 搜索“一只金毛犬在公园奔跑”&#xff0c;返回结果里却混着大量猫、室内场景甚至静态插画&#xff1f;上传一张产品设计图&…

作者头像 李华
网站建设 2026/4/13 5:24:01

Qwen3-ForcedAligner-0.6B高算力适配:8GB GPU显存下双模型bf16推理优化方案

Qwen3-ForcedAligner-0.6B高算力适配&#xff1a;8GB GPU显存下双模型bf16推理优化方案 1. 项目背景与技术挑战 1.1 双模型架构概述 Qwen3-ForcedAligner-0.6B是基于阿里巴巴Qwen3-ASR-1.7B和ForcedAligner-0.6B双模型架构开发的本地智能语音转录工具。这套组合方案在开源领…

作者头像 李华