🌊 拖拽式构建LLM应用

Flowise 完整教程

让LangChain开发变得简单直观

⭐ 32K+ Stars 🎨 可视化 ⚡ 5分钟上手 🔓 开源免费

💎 Flowise核心特性

🎨

拖拽式界面

可视化编排LangChain节点,无需编写代码。

即时预览

实时测试,立即看到效果,快速迭代。

🔌

丰富模板

100+ 预设模板,开箱即用的解决方案。

🆚 Flowise vs 其他工具

特性 Flowise Dify LangChain
核心定位 LangChain可视化 完整LLMOps平台 代码框架
学习难度 简单 简单 中等
灵活性 高(基于LangChain) 最高
适用场景 快速原型、学习 企业应用 定制开发

🚀 快速开始

📦 安装Flowise

方法1:Docker(推荐)

# 拉取镜像
docker pull flowiseai/flowise

# 运行
docker run -d \
  --name flowise \
  -p 3000:3000 \
  -v ~/.flowise:/root/.flowise \
  flowiseai/flowise

# 访问 http://localhost:3000

方法2:npm/npx

# 全局安装
npm install -g flowise
flowise start

# 或直接运行
npx flowise start

# 自定义端口
flowise start --port 3001

🎯 创建第一个Chatflow

示例:简单的ChatGPT聊天机器人

  1. 1
    点击"Add New"创建Chatflow
  2. 2
    拖入Chat Models节点 → 选择ChatOpenAI
  3. 3
    拖入Conversation Chain节点
  4. 4
    连接节点:ChatOpenAI → Conversation Chain
  5. 5
    配置OpenAI API Key
  6. 6
    点击右下角聊天按钮测试

🎉 完成!你已经创建了第一个AI聊天应用

可以通过API调用,或嵌入到网站中。

📚 RAG应用构建

构建文档问答系统

📋 所需节点:

1. Document Loaders
  • • PDF File
  • • Text File
  • • CSV File
  • • Web Scraper
  • • Notion
2. Text Splitters
  • • Recursive Character
  • • Token Text Splitter
  • • Markdown Splitter
3. Embeddings
  • • OpenAI Embeddings
  • • HuggingFace Embeddings
  • • Cohere Embeddings
4. Vector Stores
  • • Pinecone
  • • Qdrant
  • • Chroma
  • • In-Memory

🔗 连接流程:

PDF Loader
Text Splitter
OpenAI Embeddings
Qdrant
Conversational Retrieval QA Chain
ChatOpenAI

📦 热门模板

💬

Simple Conversation

基础聊天机器人

📚

PDF QA

PDF文档问答

🌐

Web Scrape QA

网页内容问答

🤖

Agent with Tools

工具调用Agent

🔄

Sequential Chain

多步骤处理

💾

SQL Database QA

数据库查询

💼 实战案例

案例1:企业知识库助手

10分钟搭建支持多文档的智能问答系统

🔧 节点配置:

1. Document Loaders
  • • 添加多个PDF File节点
  • • 或使用Folder Files加载整个目录
2. Text Splitter
  • • Chunk Size: 500
  • • Chunk Overlap: 50
3. Vector Store
  • • 选择Qdrant或Chroma
  • • 配置Collection名称
4. Retrieval QA Chain
  • • 连接Vector Store
  • • 选择ChatOpenAI (gpt-4)

✅ 完成后可以:

  • ✓ 在聊天窗口测试问答效果
  • ✓ 获取API端点集成到应用
  • ✓ 嵌入到网站(提供Embed代码)
  • ✓ 分享给团队成员使用

案例2:多模态AI助手

支持文本、图片分析、网页搜索的全能助手

工具列表:

  • Calculator:数学计算
  • Search API:网络搜索
  • Weather API:天气查询
  • Custom Tool:调用内部API

Agent配置:

  • Type:OpenAI Functions
  • Model:gpt-4
  • Max Iterations:5
  • System Message:角色定义

📦 Flowise节点完整清单

💬 Chat Models

  • • ChatOpenAI
  • • AzureChatOpenAI
  • • ChatAnthropic
  • • ChatOllama
  • • ChatGooglePaLM

📚 Document Loaders

  • • PDF File/Folder
  • • Text File
  • • CSV/JSON
  • • Web Scraper
  • • Notion/Confluence

✂️ Text Splitters

  • • Recursive Character
  • • Character Text
  • • Token Text
  • • Markdown
  • • Code Splitter

🗄️ Vector Stores

  • • Pinecone
  • • Qdrant
  • • Chroma
  • • Milvus
  • • Supabase

⛓️ Chains

  • • Conversational Retrieval QA
  • • RetrievalQA Chain
  • • API Chain
  • • Multi Prompt Chain

🤖 Agents

  • • OpenAI Functions
  • • ReAct Agent
  • • Conversational Agent
  • • CSV Agent

🔧 Tools

  • • Calculator
  • • Web Browser
  • • Search APIs
  • • Custom Tool
  • • Request Tool

🧠 Memory

  • • Buffer Memory
  • • Buffer Window Memory
  • • Conversation Summary
  • • DynamoDB Memory

🎯 Embeddings

  • • OpenAI Embeddings
  • • HuggingFace
  • • Cohere
  • • Local Embeddings

⭐ Flowise最佳实践

✅ 推荐做法

  • 模板为起点:从官方模板修改比从零开始快10倍
  • 测试优先:每加一个节点就测试一次
  • 保存版本:重大修改前导出JSON备份
  • 文档注释:用节点的Note功能添加说明

❌ 常见错误

  • 节点太多:超过10个节点会很复杂
  • 忘记配置:API Key、向量库连接等
  • 过度复杂:能用简单链就不要用Agent
  • 不看日志:Debug时要查看节点执行日志

🔌 API调用

通过API调用Chatflow

Python示例

import requests

API_URL = "http://localhost:3000/api/v1/prediction/your-chatflow-id"

def query(question):
    response = requests.post(
        API_URL,
        json={"question": question}
    )
    return response.json()

result = query("什么是Flowise?")
print(result['text'])

JavaScript示例

async function query(question) {
  const response = await fetch(
    'http://localhost:3000/api/v1/prediction/your-id',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({ question })
    }
  );
  
  const data = await response.json();
  return data.text;
}

const answer = await query("什么是Flowise?");

🔒 API认证(生产环境)

// 添加API Key认证
headers: {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer your-api-key'
}

🎓 高级技巧

🔧 自定义节点

扩展Flowise功能,创建自己的节点

// 创建自定义工具节点
class CustomTool implements INode {
  label = '自定义工具';
  name = 'customTool';
  type = 'CustomTool';
  
  async init() {
    // 初始化逻辑
  }
  
  async run(nodeData) {
    // 工具执行逻辑
    return result;
  }
}

📊 数据持久化

配置数据库存储对话历史

# docker-compose.yml
services:
  flowise:
    image: flowiseai/flowise
    environment:
      - DATABASE_TYPE=postgres
      - DATABASE_HOST=postgres
      - DATABASE_PORT=5432
      - DATABASE_NAME=flowise
  
  postgres:
    image: postgres:15
    volumes:
      - pgdata:/var/lib/postgresql/data

❓ 常见问题

Q1: Flowise vs Dify,如何选择?

Flowise:基于LangChain,更灵活,适合开发者
Dify:功能更完整,更适合企业和非技术用户
建议:熟悉LangChain选Flowise,要完整平台选Dify

Q2: 如何部署到生产环境?

  • • 使用Docker Compose部署
  • • 配置PostgreSQL数据库
  • • 设置环境变量(API密钥)
  • • 配置反向代理(Nginx)
  • • 启用HTTPS

Q3: 支持哪些向量数据库?

支持主流向量数据库:Pinecone、Qdrant、Chroma、Milvus、Weaviate、Supabase、Postgres (pgvector)等

Q4: 如何导出为代码?

Flowise创建的流程基于LangChain,可以导出为Python代码继续开发。点击"View Code"按钮即可查看等价的LangChain代码。

开始使用Flowise

5分钟构建你的第一个AI应用