> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-zh/ai-ping-tai-yu-zhi-neng-ti/flowise.md).

# Flowise AI 智能体构建器

在 Clore.ai 上部署 Flowise——通过拖拽式无代码界面和即时 API 端点，在经济实惠的 GPU 云服务器上构建并托管可视化 LLM 聊天机器人、AI 智能体和 RAG 流水线。

## 概览

[Flowise](https://github.com/FlowiseAI/Flowise) 是一个开源的拖放式工具，可在无需编写代码的情况下构建由 LLM 驱动的应用程序。凭借 3.5 万+ GitHub stars 和超过 **500 万次 Docker Hub 拉取**，Flowise 已成为生态系统中部署最广泛的自托管 AI 工具之一。它使团队能够通过直观的可视化界面创建聊天机器人、RAG 系统、AI 代理和自动化工作流，并在几分钟内将它们部署为 REST API 端点。

Flowise 基于 LangChain.js 构建，提供一个基于节点的画布，你可以在其中连接各个组件：LLM、向量数据库、文档加载器、记忆存储、工具和代理。每个流程都会自动生成一个可嵌入的聊天组件和 API 端点，你可以将其集成到任何应用中。

**关键能力：**

* **拖放式流程构建器** — 使用 100+ 个预构建节点进行可视化 LLM 编排
* **聊天机器人创建** — 为网站和应用提供可嵌入的聊天组件
* **RAG 流水线** — 可视化连接文档加载器、嵌入器和向量存储
* **多代理支持** — 通过工具使用和委派构建代理层级
* **即时 API** — 每个流程都会生成一个 `/api/v1/prediction/<flowId>` 端点
* **LangChain 节点** — 完整访问 LangChain.js 生态系统
* **凭证管理器** — 集中管理 API 密钥、数据库连接

**为什么在 Flowise 中选择 Clore.ai？**

Flowise 是一个轻量级的 Node.js 服务器——它负责编排，不负责计算。将它与 Clore.ai 配合使用可实现：

* **本地模型推理** — 在同一台 GPU 服务器上运行 Ollama 或 vLLM，消除 API 成本
* **私有文档处理** — 永远不会将数据发送到外部服务的 RAG 流水线
* **持久化部署** — 以 GPU 服务器价格提供全天候聊天机器人和 API 托管
* **大规模下具备成本效益** — 构建多租户聊天机器人平台，而无需按次调用 API 付费
* **全栈 AI 托管** — Flowise + Ollama + Qdrant/Chroma 全部运行在一台经济实惠的服务器上

***

## 需求

Flowise 本身是一个 Node.js 应用，资源需求很低。只有在你添加本地 LLM 后端时才需要 GPU。

| 配置                            | GPU       | 显存    | 内存     | 存储     | 预估价格                              |
| ----------------------------- | --------- | ----- | ------ | ------ | --------------------------------- |
| **仅 Flowise（外部 API）**         | 无         | —     | 2–4 GB | 10 GB  | 约 $0.03–0.08/小时                   |
| **+ Ollama（Llama 3.1 8B）**    | RTX 3090  | 24 GB | 16 GB  | 40 GB  | $0.07–0.21/小时                     |
| **+ Ollama（Mistral 7B + 嵌入）** | RTX 3090  | 24 GB | 16 GB  | 30 GB  | $0.07–0.21/小时                     |
| **+ Ollama（Qwen2.5 32B）**     | RTX 4090  | 24 GB | 32 GB  | 60 GB  | $0.14–0.42/小时                     |
| **+ vLLM（生产环境）**              | A100 80GB | 80 GB | 64 GB  | 100 GB | [裸机](https://clore.ai/bare-metal) |

> **注意：** Flowise 可以轻松运行在任何 Clore.ai 服务器上。只有当你想要免费的本地推理时才需要 GPU。参见 [GPU 比较指南](/guides/guides_v2-zh/ru-men-zhi-nan/gpu-comparison.md).

**Clore.ai 服务器要求：**

* Docker Engine（所有 Clore.ai 镜像均已预装）
* NVIDIA Container Toolkit（仅用于 GPU/Ollama）
* 端口 3000 可访问（或在 Clore.ai 控制面板中映射）
* 至少 2 GB 可用内存，10 GB 磁盘空间

***

## 快速开始

### 步骤 1：在 Clore.ai 上预订服务器

在 [Clore.ai 市场](https://clore.ai):

* 仅 API 使用：任何服务器，按 RAM ≥ 4 GB 过滤
* 本地 LLM：按 GPU ≥ 24 GB VRAM 过滤
* 确保在模板中启用 Docker

通过 SSH 连接：

```bash
ssh root@<server-ip> -p <ssh-port>
```

### 步骤 2：运行 Flowise（单条命令）

```bash
docker run -d \\
  --name flowise \
  --restart unless-stopped \
  -p 3000:3000 \
  flowiseai/flowise
```

就这样。Flowise 将可在 `http://<server-ip>:3000` 20–30 秒内可用。

### 步骤 3：验证它是否正在运行

```bash
# 检查容器状态
docker ps | grep flowise

# 检查日志
docker logs flowise --tail 20

# 测试 API
curl http://localhost:3000/api/v1/chatflows
```

### 步骤 4：打开 UI

访问 `http://<server-ip>:3000` 在浏览器中。

> **Clore.ai 端口映射：** 确保在你的 Clore.ai 服务器配置中转发了端口 3000。进入服务器详情 → Ports → 确认 `3000:3000` 已映射。某些模板默认只开放 SSH。

***

## 配置

### 持久化存储

挂载卷，以便在容器重启后保留你的流程、凭证和上传文件：

```bash
mkdir -p /opt/flowise/{data,uploads,logs}

docker run -d \\
  --name flowise \
  --restart unless-stopped \
  -p 3000:3000 \
  -v /opt/flowise/data:/root/.flowise \
  -v /opt/flowise/uploads:/app/uploads \
  -e DATABASE_PATH=/root/.flowise \
  -e APIKEY_PATH=/root/.flowise \
  -e SECRETKEY_PATH=/root/.flowise \
  -e LOG_PATH=/root/.flowise/logs \
  flowiseai/flowise
```

### 身份验证

使用用户名/密码保护你的 Flowise 实例：

```bash
docker run -d \\
  --name flowise \
  --restart unless-stopped \
  -p 3000:3000 \
  -v /opt/flowise/data:/root/.flowise \
  -e FLOWISE_USERNAME=admin \
  -e FLOWISE_PASSWORD=$(openssl rand -base64 16) \
  -e FLOWISE_SECRETKEY_OVERWRITE=$(openssl rand -hex 32) \
  flowiseai/flowise
```

> **安全提示：** 当你在 Clore.ai 上公开暴露 Flowise 时，务必设置凭证。没有身份验证，任何知道你服务器 IP 的人都可以访问你的流程和 API 密钥。

### 完整环境变量参考

```bash
docker run -d \\
  --name flowise \
  --restart unless-stopped \
  -p 3000:3000 \
  -v /opt/flowise/data:/root/.flowise \
  -e PORT=3000 \
  -e FLOWISE_USERNAME=admin \
  -e FLOWISE_PASSWORD=your-secure-password \
  -e FLOWISE_SECRETKEY_OVERWRITE=your-secret-key \
  -e DATABASE_TYPE=sqlite \
  -e DATABASE_PATH=/root/.flowise \
  -e APIKEY_PATH=/root/.flowise \
  -e SECRETKEY_PATH=/root/.flowise \
  -e LOG_PATH=/root/.flowise/logs \
  -e LOG_LEVEL=info \
  -e TOOL_FUNCTION_BUILTIN_DEP=crypto,fs \
  -e TOOL_FUNCTION_EXTERNAL_DEP=moment,lodash \
  -e CORS_ORIGINS=* \
  -e IFRAME_ORIGINS=* \
  flowiseai/flowise
```

| 变量                            | 描述                               | 默认值              |
| ----------------------------- | -------------------------------- | ---------------- |
| `PORT`                        | Web 服务器端口                        | `3000`           |
| `FLOWISE_USERNAME`            | 管理员用户名（启用认证）                     | —（无认证）           |
| `FLOWISE_PASSWORD`            | 管理员密码                            | —                |
| `FLOWISE_SECRETKEY_OVERWRITE` | 凭证加密密钥                           | 自动生成             |
| `DATABASE_TYPE`               | `sqlite` 或 `mysql` 或 `postgres`  | `sqlite`         |
| `DATABASE_PATH`               | SQLite 存储路径                      | `/root/.flowise` |
| `LOG_LEVEL`                   | `error`, `warn`, `info`, `debug` | `info`           |
| `TOOL_FUNCTION_BUILTIN_DEP`   | 代码节点中允许的 Node.js 内置模块            | —                |
| `TOOL_FUNCTION_EXTERNAL_DEP`  | 代码节点中允许的 npm 包                   | —                |
| `CORS_ORIGINS`                | API 允许的 CORS 来源                  | `*`              |
| `IFRAME_ORIGINS`              | 允许 iframe 嵌入的来源                  | `*`              |

### Docker Compose（推荐）

Flowise 官方仓库包含 Docker Compose 配置。这是 Clore.ai 推荐的方式：

```bash
# 下载官方 docker-compose.yml
curl -o /opt/flowise/docker-compose.yml \
  https://raw.githubusercontent.com/FlowiseAI/Flowise/main/docker/docker-compose.yml

cd /opt/flowise
```

或者使用 PostgreSQL 自行创建：

```yaml
# /opt/flowise/docker-compose.yml
version: "3.9"

services:
  flowise:
    image: flowiseai/flowise:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - PORT=3000
      - FLOWISE_USERNAME=${FLOWISE_USERNAME:-admin}
      - FLOWISE_PASSWORD=${FLOWISE_PASSWORD:-changeme}
      - FLOWISE_SECRETKEY_OVERWRITE=${SECRET_KEY}
      - DATABASE_TYPE=postgres
      - DATABASE_HOST=db
      - DATABASE_PORT=5432
      - DATABASE_USER=flowise
      - DATABASE_PASSWORD=flowise-secret
      - DATABASE_NAME=flowise
    volumes:
      - flowise-data:/root/.flowise
    depends_on:
      db:
        condition: service_healthy

  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      - POSTGRES_USER=flowise
      - POSTGRES_PASSWORD=flowise-secret
      - POSTGRES_DB=flowise
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U flowise"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  flowise-data:
  pgdata:
```

```bash
SECRET_KEY=$(openssl rand -hex 32) \
FLOWISE_PASSWORD=yourpassword \
docker compose -f /opt/flowise/docker-compose.yml up -d
```

***

## GPU 加速（本地 LLM 集成）

Flowise 负责编排——GPU 在连接的服务中承担繁重计算。

### Flowise + Ollama（推荐）

在同一台 Clore.ai 服务器上运行 Ollama，并将 Flowise 连接到它：

```bash
# 步骤 1：以 GPU 访问权限启动 Ollama
docker run -d \\
  --name ollama \\
  --gpus all \\
  --restart unless-stopped \
  -p 11434:11434 \
  -v ollama-models:/root/.ollama \
  ollama/ollama:latest

# 步骤 2：拉取模型
docker exec ollama ollama pull llama3.1:8b          # 聊天/代理模型
docker exec ollama ollama pull nomic-embed-text     # RAG 的嵌入模型
docker exec ollama ollama pull mistral:7b           # 替代聊天模型

# 步骤 3：使用主机网络访问启动 Flowise
docker run -d \\
  --name flowise \
  --restart unless-stopped \
  -p 3000:3000 \
  -v /opt/flowise/data:/root/.flowise \
  --add-host host.docker.internal:host-gateway \
  -e FLOWISE_USERNAME=admin \
  -e FLOWISE_PASSWORD=changeme \
  flowiseai/flowise
```

**在 Flowise UI 中：**

1. 创建一个新的 Chatflow
2. 在 **Ollama** 节点（在 Chat Models 下）
   * 基础 URL： `http://host.docker.internal:11434`
   * 模型名称： `llama3.1:8b`
3. 在 **OllamaEmbeddings** 节点（用于 RAG）
   * 基础 URL： `http://host.docker.internal:11434`
   * 模型名称： `nomic-embed-text`
4. 连接到你的向量存储（Chroma、FAISS、Qdrant）

> 查看完整的 [Ollama 指南](/guides/guides_v2-zh/yu-yan-mo-xing/ollama.md) 以了解模型下载和 GPU 设置。

### Flowise + vLLM（生产级规模）

用于兼容 OpenAI 的高吞吐服务：

```bash
# 启动 vLLM
docker run -d \\
  --name vllm \\
  --gpus all \\
  --restart unless-stopped \
  -p 8000:8000 \
  --ipc=host \
  vllm/vllm-openai:latest \
  --model mistralai/Mistral-7B-Instruct-v0.3 \
  --gpu-memory-utilization 0.85

# 在 Flowise 中，使用带自定义基础 URL 的 ChatOpenAI 节点：
# Base URL: http://host.docker.internal:8000/v1
# OpenAI API Key:（任意值）
# 模型名称：mistralai/Mistral-7B-Instruct-v0.3
```

> 请参阅 [vLLM 指南](/guides/guides_v2-zh/yu-yan-mo-xing/vllm.md) 了解量化和多 GPU 配置。

### 构建仅本地 RAG 聊天机器人

在 Clore.ai 上实现完全不调用外部 API 的完整 Flowise 流程：

| 节点 | 组件                | Settings               |
| -- | ----------------- | ---------------------- |
| 1  | PDF 文件加载器         | 上传文档                   |
| 2  | 递归文本分割器           | 块大小：1000，重叠：200        |
| 3  | Ollama Embeddings | 模型： `nomic-embed-text` |
| 4  | 内存向量存储            | （或使用 Chroma 持久化）       |
| 5  | Ollama 聊天         | 模型： `llama3.1:8b`      |
| 6  | 对话式检索问答           | 链类型：Stuff              |
| 7  | 缓冲记忆              | 基于会话的记忆                |

将其导出为 API，并把聊天组件嵌入到任何网站。

***

## 提示与最佳实践

### 1. 定期导出流程

在停止或切换 Clore.ai 服务器之前：

```bash
# 通过 API 导出所有流程
curl http://localhost:3000/api/v1/chatflows \
  -H "Authorization: Basic $(echo -n admin:password | base64)" \
  > /opt/flowise/backup-flows.json

# 或使用 UI：Chatflows → Export All
```

### 2. 使用嵌入式组件

每个 Flowise chatflow 都会生成一个可直接投入生产的聊天组件：

1. 打开你的 chatflow → 点击 **\</>** （嵌入）按钮
2. 复制脚本片段
3. 粘贴到任意 HTML 页面中——即可获得即时客户支持机器人

### 3. 安全管理 API 密钥

将所有 LLM API 密钥存储在 Flowise 的 **凭证** 面板中（不要硬编码到流程里）：

* 菜单 → Credentials → Add Credential
* 密钥使用 `FLOWISE_SECRETKEY_OVERWRITE`

### 4. 限流

对于面向公众的部署，可在 Flowise 前端通过 Nginx 或 Caddy 添加限流：

```bash
# 简单的 nginx 反向代理配置
docker run -d \\
  --name nginx \
  -p 80:80 \
  -v /opt/flowise/nginx.conf:/etc/nginx/conf.d/default.conf:ro \
  --link flowise:flowise \
  nginx:alpine
```

### 5. 监控性能

```bash
# 实时资源监控
watch -n 3 'docker stats flowise ollama --no-stream'

# 检查 Flowise 日志中的错误
docker logs flowise --tail 50 -f

# 检查流程是否被调用
docker logs flowise 2>&1 | grep "Prediction"
```

### 6. 备份 SQLite 数据库

```bash
# 创建带时间戳的备份
cp /opt/flowise/data/database.sqlite \
   /opt/flowise/backup-$(date +%Y%m%d-%H%M%S).sqlite

# 或使用 cron 自动化
echo "0 */6 * * * cp /opt/flowise/data/database.sqlite /opt/flowise/backup-\$(date +\%Y\%m\%d-\%H\%M\%S).sqlite" | crontab -
```

***

## 故障排查

### 容器立即退出

```bash
# 检查退出原因
docker logs flowise

# 常见原因：
# 1. 端口 3000 已被占用
lsof -i :3000
# 解决方法：使用不同端口
docker run ... -p 3001:3000 ...

# 2. 卷权限错误
ls -la /opt/flowise/
chown -R 1000:1000 /opt/flowise/data
```

### UI 显示“连接失败”

```bash
# 验证 Flowise 是否 वास्तव正在运行
docker ps -a | grep flowise
docker stats flowise --no-stream

# 检查它是否绑定到所有接口
docker logs flowise | grep "listening"
# 应显示：Server is listening at port 3000

# 先在本地测试
curl -s http://localhost:3000/api/v1/chatflows | head -20
```

### 流程因 LLM 错误失败

```bash
# 从 Flowise 容器测试 Ollama 连通性
docker exec flowise wget -qO- http://host.docker.internal:11434/api/tags

# 如果失败，验证是否包含了 --add-host：
docker inspect flowise | grep -A5 ExtraHosts

# 测试 Ollama 是否正在运行
curl http://localhost:11434/api/tags
```

### 更新时的数据库迁移错误

```bash
# 升级 Flowise 版本时，先备份
cp -r /opt/flowise/data /opt/flowise/data-backup-$(date +%Y%m%d)

# 拉取新镜像
docker pull flowiseai/flowise:latest

# 使用相同卷重启（迁移会自动运行）
docker stop flowise && docker rm flowise
docker run -d --name flowise ... flowiseai/flowise:latest
docker logs flowise -f  # 观察迁移输出
```

### 重启后的凭证解密错误

```bash
# 如果你没有设置 FLOWISE_SECRETKEY_OVERWRITE，重启时会生成新的密钥
# 始终显式设置它：
-e FLOWISE_SECRETKEY_OVERWRITE=your-stable-32-char-secret

# 恢复方法：设置稳定密钥后，在 UI 中重新输入凭证
```

### 聊天组件 CORS 错误

```bash
# 允许特定来源（生产环境中将 * 替换为你的域名）
-e CORS_ORIGINS=https://yourdomain.com,http://localhost:3000
-e IFRAME_ORIGINS=https://yourdomain.com
```

***

## 延伸阅读

* [Flowise GitHub 仓库](https://github.com/FlowiseAI/Flowise) — 源代码、发布版本、官方 docker-compose
* [Flowise 文档](https://docs.flowiseai.com) — 节点参考、API 文档、部署指南
* [Flowise Discord](https://discord.gg/jn8n7yb9N) — 社区模板、流程分享、支持
* [Docker Hub：flowiseai/flowise](https://hub.docker.com/r/flowiseai/flowise) — 500 万+ 次拉取，可用标签
* [Clore.ai 上的 Ollama](/guides/guides_v2-zh/yu-yan-mo-xing/ollama.md) — 运行本地 LLM，实现免费的 Flowise 推理
* [Clore.ai 上的 vLLM](/guides/guides_v2-zh/yu-yan-mo-xing/vllm.md) — 面向 Flowise 的生产级 LLM 服务
* [GPU 比较指南](/guides/guides_v2-zh/ru-men-zhi-nan/gpu-comparison.md) — 为你的技术栈选择合适的 GPU
* [LangChain.js 文档](https://js.langchain.com/docs/) — 底层框架参考


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-zh/ai-ping-tai-yu-zhi-neng-ti/flowise.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
