# Flowise AI 智能体构建器

## 概览

[Flowise](https://github.com/FlowiseAI/Flowise) 是一个开源的拖放工具，用于构建无需编写代码即可运行大型语言模型（LLM）的应用。拥有 35K+ GitHub 星标 和 超过 **500 万次 Docker Hub 拉取**，Flowise 已成为生态系统中部署最多的自托管 AI 工具之一。它使团队能够通过直观的可视界面创建聊天机器人、RAG 系统、AI 代理和自动化工作流——并在几分钟内将它们作为 REST API 端点部署。

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

**主要功能：**

* **拖放式流程构建器** — 可视化 LLM 编排，包含 100+ 预构建节点
* **聊天机器人创建** — 可嵌入的网站和应用聊天小部件
* **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）**    | 速度      | 24 GB | 16 GB  | 40 GB  | \~$0.20/小时      |
| **+ Ollama（Mistral 7B + 嵌入）** | 速度      | 24 GB | 16 GB  | 30 GB  | \~$0.20/小时      |
| **+ Ollama（Qwen2.5 32B）**     | 512x512 | 24 GB | 32 GB  | 60 GB  | \~$0.35/小时      |
| **+ vLLM（生产）**                | 4 小时会话  | 80 GB | 64 GB  | 100 GB | \~$1.10/小时      |

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

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

* Docker 引擎（所有 Clore.ai 镜像预装）
* NVIDIA 容器工具包（仅用于 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 显存
* 确保模板中启用了 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。进入服务器详细信息 → 端口 → 确认 `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
```

| 变量                            | 4s                               | 默认值              |
| ----------------------------- | -------------------------------- | ---------------- |
| `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 节点：
# 基础 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 上完成的 Flowise 流，零外部 API 调用：

| 节点 | 组件                                   | 设置                     |
| -- | ------------------------------------ | ---------------------- |
| 1  | PDF 文件加载器                            | 上传文档                   |
| 2  | 递归文本分割器                              | 分块：1000，重叠：200         |
| 3  | Ollama 嵌入                            | 模型： `nomic-embed-text` |
| 4  | 内存中向量存储                              | （或使用 Chroma 以持久化）      |
| 5  | Ollama 聊天                            | 模型： `llama3.1:8b`      |
| 6  | 会话检索式问答（Conversational Retrieval QA） | 链类型：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 → 导出全部
```

### 2. 使用嵌入小部件

每个 Flowise 聊天流程都会生成一个可用于生产的聊天小部件：

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

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

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

* 菜单 → 凭据 → 添加凭据
* 密钥使用以下方式加密： `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/gpu-comparison.md) — 为您的技术栈选择合适的 GPU
* [LangChain.js 文档](https://js.langchain.com/docs/) — 底层框架参考


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
