零代码搭建AI助手:Flowise 5分钟创建RAG聊天机器人教程
1. 为什么你需要这个教程
你有没有遇到过这些情况:
- 想把公司内部的PDF文档、产品手册、会议纪要变成能随时问答的知识库,但写LangChain代码太费时间?
- 看到RAG(检索增强生成)这个词就头大,不知道从哪开始配置向量数据库、分块逻辑和LLM调用链?
- 试过几个开源工具,结果卡在环境编译、模型加载失败、API报错404上,最后放弃?
别折腾了。今天这篇教程,不装依赖、不改配置文件、不写一行Python,5分钟内完成一个可对话、可提问、可部署的本地RAG聊天机器人——所有操作都在网页里拖拽完成。
Flowise不是另一个需要你“先学三天再动手”的框架。它像乐高一样,把LangChain里那些抽象概念:LLM调用、文本分块、向量存储、提示词模板、条件判断……都变成了带图标的可视化节点。你只需要把它们连起来,就像画流程图一样自然。
而且它完全本地运行,不上传你的任何数据;支持vLLM加速推理,小显卡也能跑得动;一键导出REST API,明天就能嵌入到你公司的OA系统里。
下面我们就从零开始,手把手带你搭出来。
2. 准备工作:3步启动Flowise服务
Flowise镜像已预装vLLM和核心服务,无需手动编译模型或安装Node.js。你只需要确认基础环境,然后执行一条命令。
2.1 环境检查(1分钟)
确保你的机器满足以下最低要求:
- 操作系统:Ubuntu 22.04 / Debian 12(其他Linux发行版也可,Windows需WSL2)
- 内存:≥8GB(推荐16GB)
- 显存:≥6GB(如RTX 3060/4060及以上,或A10G/A100等云GPU)
- 磁盘:≥20GB可用空间(用于缓存模型和向量库)
注意:本镜像已内置vLLM服务,无需额外安装CUDA驱动或vLLM包。所有模型加载、推理、向量化均在容器内自动完成。
2.2 启动服务(30秒)
打开终端,执行以下命令:
# 进入工作目录(镜像已预置/app路径) cd /app # 启动Flowise服务(自动加载vLLM + Web UI) pnpm start等待约2–3分钟,你会看到类似这样的日志输出:
[INFO] Flowise server is running on http://localhost:3000 [INFO] vLLM inference server started successfully [INFO] Vector store initialized with ChromaDB (in-memory)此时,服务已就绪。打开浏览器,访问http://localhost:3000即可进入可视化界面。
2.3 登录账号(10秒)
使用镜像预置的演示账号登录:
- 邮箱:kakajiang@kakajiang.com
- 密码:KKJiang123
登录后,你将看到干净的工作区画布,右上角显示“Welcome to Flowise”。
小贴士:首次登录后,建议点击右上角头像 → Settings → 修改密码,保障本地环境安全。
3. 拖拽建模:4个节点搭出RAG工作流
RAG的核心逻辑其实就四步:用户提问 → 检索相关文档片段 → 把问题+片段喂给大模型 → 生成自然语言回答。Flowise把这四步封装成四个可拖拽节点。
我们不用写代码,只用鼠标操作。
3.1 添加知识源:上传你的文档(1分钟)
点击左侧节点栏中的Document Loaders→ 拖一个Directory节点到画布中央。
- 双击该节点,在弹窗中设置:
Directory Path:/app/docs(镜像已预置示例文档,含3份PDF和2份TXT)Glob Pattern:**/*.{pdf,txt,md}(自动识别常见格式)Recursive: 勾选(支持子文件夹)
实际使用时,你只需把公司知识库文件(如
/company/kb/)复制到容器内对应路径,这里填入即可。支持PDF、Word、Excel、PPT、Markdown、纯文本等15+格式。
3.2 文本切分:让大模型看得懂长文档(30秒)
从Text Splitters中拖一个RecursiveCharacterTextSplitter节点到画布,放在Directory节点右侧。
- 双击设置:
Chunk Size:500(每段500字符,兼顾语义完整与检索精度)Chunk Overlap:50(相邻段落重叠50字符,避免断句割裂)
连线:用鼠标从Directory节点的输出端口(右下角圆点)拖线,连接到TextSplitter的输入端口(左上角圆点)。你会看到一条蓝色连线,表示“文档→分块”。
3.3 向量入库:把文字变成可搜索的数字(1分钟)
从Vector Stores中拖一个Chroma节点到画布(镜像默认使用轻量级ChromaDB,无需额外数据库)。
- 双击设置:
Collection Name:company_knowledge(自定义知识库名,后续可多库共存)Embedding Model:BAAI/bge-small-zh-v1.5(中文优化,128维,速度快、效果稳)
连线:从TextSplitter输出端拖线至Chroma输入端。此时Flowise会自动下载并加载该嵌入模型(首次运行约需1–2分钟,后续秒级响应)。
小知识:BGE系列是当前中文场景下综合表现最好的开源嵌入模型之一,比OpenAI text-embedding-ada-002更轻、更快,且完全离线。
3.4 构建问答:连接大模型生成答案(2分钟)
这是最关键的一步。我们需要两个节点:一个负责检索,一个负责生成。
- 从Retrievers拖一个Chroma Retriever节点
- 从LLMs拖一个vLLM Chat Model节点(镜像已预置Qwen2-1.5B-Instruct,支持中文对话)
分别设置:
Chroma Retriever:
Collection Name:company_knowledge(与上一步保持一致)Top K:3(每次检索返回最相关的3个片段)
vLLM Chat Model:
Model ID:Qwen/Qwen2-1.5B-Instruct(已内置,无需下载)Max Tokens:1024Temperature:0.3(降低随机性,回答更稳定)
最后连线:
- Chroma Retriever ← Chroma(检索器读取向量库)
- vLLM Chat Model ← Chroma Retriever(检索结果作为上下文输入)
- vLLM Chat Model ← Input(用户原始问题也直接输入,保证问题不丢失)
此时整个RAG链路已闭环:用户提问 → 检索匹配片段 → LLM融合生成 → 输出答案。
4. 测试运行:第一句提问就出结果
点击画布右上角的Test Workflow按钮(闪电图标),打开测试面板。
在输入框中输入一句真实问题,例如:
“我们的售后服务响应时效是多久?”
点击Run,几秒钟后,你会看到右侧输出区域显示结构化结果:
【检索到的原文片段】 - 文件:/app/docs/售后政策.pdf,页码:P7 内容:“客户提交服务请求后,一线技术支持将在2小时内首次响应……” 【LLM生成的回答】 根据《售后服务政策》,客户提交服务请求后,一线技术支持团队承诺在2小时内完成首次响应,8小时内提供初步解决方案,24小时内给出完整处理方案。成功!你没有写一行代码,没有配置API密钥,没有调试向量维度,就完成了端到端的RAG问答。
再试一句更开放的问题:
“请用一句话总结我们产品的三大核心优势。”
Flowise会自动从多份文档中提取关键信息,并由Qwen2模型组织成通顺表达。这就是RAG真正的价值:让大模型的回答有据可依,不胡说、不幻觉、不越界。
5. 进阶技巧:让机器人更聪明、更实用
上面的流程已经能跑通,但要真正用起来,还需要几个关键优化。全部在UI里点点鼠标就能完成。
5.1 提升检索质量:加一层“过滤器”
默认检索可能把无关文档也拉进来。我们可以加一个Document Filter节点,按标签或元数据筛选。
- 拖一个Document Filter节点,放在Chroma Retriever之前
- 设置
Filter Key:source,Filter Value:docs/售后政策.pdf - 连线:Chroma → Document Filter → Chroma Retriever
这样,当用户明确问“售后相关”,系统就只查售后文档,响应更快、更精准。
5.2 优化回答风格:定制提示词模板
默认提示词较通用。点击vLLM Chat Model节点 → 展开Prompt Template区域 → 替换为以下中文友好模板:
你是一名专业客服助手,正在回答客户关于公司产品与服务的问题。请严格遵守以下规则: 1. 所有回答必须基于提供的【参考资料】,不得编造、猜测或引用外部知识; 2. 若参考资料中无相关信息,请明确回答“暂未找到相关内容”; 3. 回答需简洁、准确、口语化,控制在3句话以内; 4. 如涉及时效、价格、政策等敏感信息,务必标注出处文件名与页码。 【参考资料】 {context} 【客户问题】 {query}保存后重新测试,“我们的保修期是几年?”这类问题就会带上来源标注,可信度大幅提升。
5.3 支持多轮对话:记住上下文
默认Flowise是单轮问答。要支持“上一句问价格,下一句问运费”,需启用对话记忆。
- 在画布空白处右键 →Add Node→ 选择Chat Memory→ 拖入
- 连接:Input → Chat Memory → vLLM Chat Model(作为额外输入)
- 双击Chat Memory,设置
Memory Type:BufferWindow,K:5(保留最近5轮对话)
现在测试连续提问:
Q1:产品A的起订量是多少?
Q2:那运费怎么算?
第二问会自动关联“产品A”上下文,无需重复说明。
6. 一键部署:把机器人变成API接口
做完测试,下一步就是让业务系统调用它。Flowise提供两种零门槛方式。
6.1 导出为REST API(30秒)
点击顶部菜单Deploy→Export as API→ 选择REST API。
系统自动生成一个标准OpenAPI 3.0规范的JSON文件,并附带调用示例:
curl -X POST "http://localhost:3000/api/v1/prediction/your-workflow-id" \ -H "Content-Type: application/json" \ -d '{"question":"产品A的交付周期是多久?"}'返回结构清晰的JSON:
{ "answer": "标准交付周期为15个工作日,加急订单可缩短至7个工作日。", "sources": [ { "filename": "产品手册.pdf", "page": 12, "content": "常规订单交付周期:15个工作日;加急订单:7个工作日。" } ] }你可以把这个API地址直接交给前端工程师,嵌入网页、钉钉机器人、企业微信应用。
6.2 嵌入网页:3行代码接入
如果想快速做个内部知识库页面,Flowise还提供React组件包。
在你的前端项目中执行:
npm install flowise-embed然后在页面中插入:
import { FlowiseChat } from 'flowise-embed'; function App() { return ( <div style={{ width: '400px', height: '600px' }}> <FlowiseChat chatflowid="your-workflow-id" apiHost="http://localhost:3000" theme={{ button: { backgroundColor: '#1e40af', color: '#fff' }, input: { borderColor: '#3b82f6' } }} /> </div> ); }刷新页面,一个可交互的聊天窗口就出现了。样式、颜色、尺寸全可自定义。
7. 总结:你刚刚完成了什么
回顾这5分钟的操作,你实际上完成了一套原本需要数天才能上线的AI能力:
- 零代码构建RAG流水线:文档加载 → 分块 → 向量化 → 检索 → 生成,全部可视化完成
- 本地私有化部署:所有数据不出设备,模型、向量库、服务全在本地运行
- 开箱即用的中文能力:预置BGE嵌入模型 + Qwen2对话模型,无需额外下载或微调
- 生产就绪的集成能力:一键导出API、React/Vue嵌入、支持PostgreSQL持久化(进阶配置)
- 可持续演进的架构:后续可轻松替换为更大模型(如Qwen2-7B)、切换向量库(Milvus/Pinecone)、接入企业微信/飞书Bot
这不是一个玩具Demo,而是一个真正能解决实际问题的AI助手底座。你今天搭的,可能是明天公司全员使用的智能知识中枢。
下一步,你可以:
- 把销售话术、HR制度、IT运维手册批量导入,打造部门级AI助手
- 结合Zapier节点,让机器人自动查工单、发邮件、更新CRM
- 用Marketplace里的“SQL Agent”模板,让非技术人员用自然语言查数据库
技术的价值,从来不在炫技,而在让复杂变简单,让专业变普及。Flowise做到了。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。