30 分钟零代码搭建 AI 客服 Chatbot:Langflow 实战
无需编写 Python 链式调用代码,通过可视化拖拽即可搭建完整的 AI 客服应用。本文从环境安装到实战演示,带你 30 分钟内完成带知识库检索和对话记忆的 Chatbot 开发,并一键发布为 REST API。

30 分钟零代码搭建 AI 客服 Chatbot:Langflow 实战
上周团队接到一个需求:产品同事想快速验证一个带知识库的客服 Chatbot,但不想花大量时间调 Python 代码和 Prompt 模板。按传统做法——用 LangChain 写链、手动管理对话记忆、再用 Flask/FastAPI 包装——三天算快的。Langflow 让我换了一种思路:拖拖拽拽,就能搭出来。
Langflow(GitHub 38k+ 星)是一个可视化的 LLM 应用开发框架。它将「LLM」「Prompt Template」「Retriever」「Memory」等概念封装成组件节点,在浏览器里连连线就能跑出一个完整应用,无需手写链式调用代码,还能一键导出为 REST API。
读完这篇教程,你将完成:
- 在本地 5 分钟内跑起 Langflow
- 理解核心节点及其作用
- 实战搭建一个「基于文档检索 + 带对话记忆的客服 Chatbot」
- 把做好的 Flow 发布为 REST API
前置条件
| 要求 | 说明 |
|---|---|
| Python 版本 | 3.10 ~ 3.14 |
| 包管理工具 | 推荐使用 uv(比 pip 快 10 倍) |
| 操作系统 | Linux / macOS / Windows 均可 |
| LLM API Key | 任意 OpenAI 兼容接口(本文用 OpenAI 示例) |
如果还没装
uv,官方安装方式:curl -LsSf https://astral.sh/uv/install.sh | sh
5 分钟装好 Langflow
1. 安装 Langflow
shell
uv pip install langflow -U
推荐 uv 是因为它使用 Rust 编写的依赖解析器,安装速度通常是 pip 的数倍到十几倍。Langflow 依赖较多时,体验差异非常明显。
2. 启动服务
shell
uv run langflow run
终端打印日志后,打开浏览器访问 http://127.0.0.1:7860 即可看到 Langflow Web 界面。端口冲突可加参数 --port 8080 替换。
不想管 Python 环境?一条 Docker 命令也行:
shell
docker run -p 7860:7860 langflowai/langflow:latest
Windows/macOS 用户还可以直接下载 Langflow Desktop 桌面版,依赖全部打包好。
认识核心节点
动手之前先理解 5 个最常用节点,能少走很多弯路。
| 节点类型 | 作用 | 通俗解释 |
|---|---|---|
| Prompt | 定义系统提示和用户输入模板 | 写「你是一个客服助手」的地方 |
| LLM | 连接大模型(OpenAI、DeepSeek、本地 Ollama 等) | 真正调用 AI 的开关 |
| Chat Input / Chat Output | 对话入口和出口 | 用户发消息和收回复的管道 |
| Memory | 保存对话历史 | 让 AI 记住之前聊过的内容 |
| Embeddings / Retriever | 向量化和检索知识库 | 让 AI 能查文档回答专业问题 |
实战:搭建客服 Chatbot
场景:用户上传一份产品 FAQ 文档,提问时系统先检索文档内容,再结合对话历史让 LLM 生成回答。
步骤 1:拖入 Chat 组件
- 左侧面板搜索 Chat Input,拖到画布——用户输入消息的入口。
- 搜索 Chat Output 拖入——AI 回复的输出端口。
步骤 2:配置 Prompt
拖入 Prompt 节点,双击编辑面板,填入系统提示词:
你是一个专业的产品客服助手。请根据以下检索到的文档内容回答用户问题。
如果文档中没有相关信息,请礼貌告知用户并建议联系客服团队。
检索到的上下文:
{context}
用户问题:
{question}
{context} 和 {question} 是 Langflow 的输入占位符,后续节点会把检索到的文档和用户提问自动填进去。这种模板填充设计让 Prompt 管理非常清晰,无需在代码中做字符串拼接。
步骤 3:配置 LLM
拖入 OpenAI(或其他 LLM 节点):
- 填入 API Key(或设置环境变量
OPENAI_API_KEY) - 选择模型,如
gpt-4o-mini(性价比高) - Temperature 设 0.3(客服场景需要稳定回答)
将 LLM 的输入连接到 Prompt 节点的输出。
步骤 4:加入对话记忆
拖入 ConversationBufferMemory 节点。
LLM 本身无状态。没有 Memory 时,用户说"我刚才问的那个问题",AI 不记得之前聊过什么。Memory 节点自动把历史对话打包,追加到每次请求的上下文里。把它接在 Prompt 和 LLM 之间。
步骤 5:连接输出
按顺序连接:Chat Input → Prompt → Memory → LLM → Chat Output。点击右上角 Play 按钮(或 Ctrl+Enter),在右侧面板直接测试对话。
步骤 6(进阶):加入知识库检索
- 拖入 File 节点 → 上传 PDF/Markdown FAQ 文档
- 拖入 Split Text 节点 → 设置 chunk size 为 500
- 拖入 OpenAI Embeddings → 做向量化
- 拖入 Vector Store(In-Memory FAISS)→ 存储向量
- 拖入 Retriever → 关联 Vector Store
- 把 Retriever 输出接回 Prompt 的
{context}输入
这就是完整的 RAG(Retrieval Augmented Generation)流程,零代码实现。
把 Flow 发布为 API
做好的 Flow 可以一键导出。画布右上角的 API 按钮点击后会提供:
- REST 端点 URL
- 自动生成的请求示例(curl / Python / JavaScript)
- JSON 格式的 Flow 定义(可导入其他 Langflow 实例)
用 curl 测试发布的 API:
shell
curl -X POST "http://127.0.0.1:7860/api/v1/run/{flow_id}" \
-H "Content-Type: application/json" \
-d '{"input_value": "你好,你们支持哪些支付方式?"}'
后端(Java/Spring Boot、Node.js、Go)只需调这个接口就能拿到 AI 回复,完全不用管底层模型和Prompt拼接逻辑,前后端解耦,协作效率翻倍。
踩坑提醒
落地过程中常见的坑,提前避一下:
-
API Key 失效:LLM 节点会把 API Key 存到 Flow JSON 里。测试 Key 记得发布前换成生产 Key。建议在环境变量里配置 Key,而不是硬写进节点。
-
Memory 导致 Token 爆炸:ConversationBufferMemory 默认带全部历史消息。对话很长时 Token 消耗迅速飙升。生产环境建议换成
ConversationSummaryMemory,用 LLM 自动压缩历史记录。 -
Docker 启动后访问不到:确保
-p端口映射正确。WSL2 里跑 Docker 时用localhost:7860而不是127.0.0.1。 -
Embedding 模型不兼容:OpenAI Embedding 接口和国内部分模型不直接兼容。用智谱、通义等可选对应 Provider 节点,或用本地 Ollama 跑 Embedding 模型。
下一步
恭喜跑通完整 AI 应用!深入方向:
- 多 Agent 编排:Langflow 支持多 Agent 节点,实现"分析 Agent 判断意图 → 路由到不同专业 Agent"的工作流。
- 部署上云:配合 Docker 和 Nginx 反向代理暴露到公网,官方文档有详细部署指南。
- 自定义节点:内置组件不够用时,可用 Python 写自定义节点,源码直接在画布里编辑。
- MCP Server 集成:将 Flow 导出为 MCP Server,供 Cursor、Claude Desktop 等 AI 工具调用。
工具只是敲门砖,真正有价值的是你想用它解决什么问题。希望这篇教程帮你省下三天调代码的时间,去打磨更有意义的东西。
有问题欢迎在评论区交流 🤝