Langflow实战:5步本地部署RAG,零代码15分钟搭建AI智能Agent
为什么你需要 Langflow
你有没有遇到过这种困境:想快速搭一个 RAG 知识库问答系统,结果光是读 LangChain 文档就花了三天,调RetrievalQA链的参又搭进去两天,最后发现向量数据库的 Collection 名拼错了一个字母——所有努力白费。
Langflow 就是来解决这个问题的。它是一个基于 LangChain 的低代码可视化 AI 工作流平台(GitHub 149k+ Star),让你像搭乐高一样用拖拽方式构建 RAG、Agent、Prompt Chain 等 AI 应用。本文带你 5 步完成本地部署,并搭建一个完整的 RAG 文档问答 Agent。
环境要求
- Python 3.10 ~ 3.14
- 至少 4 GB 内存(推荐 8 GB+)
- Windows / macOS / Linux 均可
步骤一:安装 Langflow
打开终端,用uv(比 pip 快 10 倍的包管理器)安装:
# 1. 安装 uv(如已安装可跳过) pip install uv # 2. 创建虚拟环境 uv venv langflow-env # 3. 激活虚拟环境 # Windows: langflow-env\Scripts\activate # macOS / Linux: source langflow-env/bin/activate # 4. 安装最新版 Langflow(截至 2026.07 最新为 v1.10.0) uv pip install langflow -U**提示**:如果你更习惯 Docker,一行命令即可:`docker run -p 7860:7860 langflowai/langflow:latest`
输出类似如下表示安装成功:
Successfully installed langflow-1.10.0 langchain-0.3.x ...步骤二:启动 Langflow 并创建第一个项目
安装完成后,一行命令启动服务:
uv run langflow run浏览器打开http://127.0.0.1:7860,你将看到 Langflow 的主界面。首次启动时会要求你创建管理员账号(邮箱 + 密码),这是 v1.3.0 之后引入的安全机制。
登录后,点击右上角的"New Project",选择"Blank Flow"创建一个空白工作流画布。
你会在左侧看到组件面板(Components),包括 LLM、Chains、Agents、Vector Stores、Embeddings 等几十个预制组件。中间是画布,右侧是当前选中组件的参数面板。
核心操作:
- 从左侧**拖拽**组件到画布
- 组件之间**连线**建立数据流
- 右侧面板**配置**每个组件的参数(API Key、模型名、Prompt 等)
步骤三:搭建 RAG 文档问答工作流
现在我们来搭建一个完整的 RAG 工作流。该流程的核心逻辑是:上传 PDF → 文本分块 → 向量嵌入 → 存入向量库 → 用户提问 → 检索相关片段 → LLM 生成回答。
3.1 拖入组件
从左侧组件面板依次拖入以下 7 个组件到画布:
| 序号 | 组件名 | 类别 | 作用 |
|------|--------|------|------|
| ① |File| Inputs | 上传 PDF/TXT 等文档 |
| ② |Split Text| Processing | 将长文本切分为 chunk |
| ③ |OpenAI Embeddings| Embeddings | 将文本块转为向量 |
| ④ |Chroma DB| Vector Stores | 本地向量数据库存储 |
| ⑤ |Chat Input| Inputs | 接收用户提问 |
| ⑥ |Chroma Search| Retrieval | 根据提问检索相似 chunk |
| ⑦ |OpenAI Chat| Models | 调用 GPT 生成最终回答 |
3.2 连线
按以下数据流依次连线:
File → Split Text → OpenAI Embeddings → Chroma DB Chat Input → Chroma Search → OpenAI Chat Chroma DB → Chroma Search(作为检索源)连线方式:鼠标悬停在组件右侧输出节点,拖拽连线到下一个组件的左侧输入节点。
3.3 配置 API Key
在OpenAI Embeddings和OpenAI Chat组件的右侧面板中,填入你的 OpenAI API Key:
OpenAI API Key: sk-your-api-key-here Model Name: text-embedding-3-small # Embeddings 用 Model Name: gpt-4o-mini # Chat 用(性价比高)**安全提示**:实际项目请用 `.env` 文件存储 Key,切勿硬编码到代码中。Langflow 支持在项目设置中配置全局环境变量。
步骤四:测试运行
4.1 上传文档
在画布底部找到Playground(测试面板),点击File组件上传一个 PDF 文件(比如你项目的技术文档或任何知识型 PDF)。
4.2 在 Chat Input 中提问
在 Playground 的Chat Input框输入问题,例如:
这份文档的核心内容是什么?请用中文总结 3 个要点。4.3 查看结果
点击Run按钮,几秒钟后你会在OpenAI Chat组件的输出区域看到 AI 基于文档内容生成的回答。整个数据流是可追踪的——每个节点的输入输出都会在 Playground 的 Log 面板中展示。
运行效果类似:
{ "output": "根据您上传的文档,核心内容总结如下:\n 1. 系统架构采用微服务设计,每个服务独立部署...\n 2. 数据层使用 PostgreSQL 作为主存储,Redis 做缓存...\n 3. API 网关统一鉴权和限流,基于 JWT Token 实现..." }你也可以用 Python 代码直接调用你搭建好的 Flow(Langflow 自动生成 API):
import requests API_URL = "http://127.0.0.1:7860/api/v1/run/your-flow-id" API_KEY = "sk-your-langflow-api-key" payload = { "input_value": "这份文档讲了什么?", "output_type": "chat", "input_type": "chat", "tweaks": {} } response = requests.post( API_URL, json=payload, headers={"x-api-key": API_KEY} ) print(response.json()["outputs"][0]["outputs"][0]["results"]["message"]["text"])步骤五:导出与部署
5.1 导出为 Python 代码
Langflow 支持将可视化工作流一键导出为可运行的 Python 代码。在画布右上角点击"Code"按钮,选择"Export as Python",你会得到完整的代码:
from langflow import load_flow_from_json # 加载导出的 flow 配置 flow = load_flow_from_json("MyRAGFlow.json") # 直接运行 result = flow.run("这份文档的核心内容是什么?") print(result)5.2 导出为 JSON
点击"Export"→"Export as JSON",将 Flow 保存为.json文件。这个文件可以在任何装有 Langflow 的机器上导入复用,也可以提交到 Git 做版本管理。
# 在其他机器上导入你导出的 Flow uv run langflow run --import MyRAGFlow.json进阶玩法:集成本地 LLM(Ollama)
如果你想完全离线运行、不依赖 OpenAI API,Langflow 天然支持 Ollama:
# 先安装并启动 Ollama(需提前下载模型) ollama pull qwen2.5:7b ollama pull nomic-embed-text # 本地 Embedding 模型 # 在 Langflow 中使用 Ollama 组件替换 OpenAI 组件 # 拖入 Ollama Chat → 配置 model_name = "qwen2.5:7b" # 拖入 Ollama Embeddings → 配置 model_name = "nomic-embed-text"这样整个 RAG 链路完全本地运行,零 API 费用。
总结
| 维度 | 传统 LangChain 编码 | Langflow 可视化 |
|------|---------------------|-----------------|
| 上手时间 | 2~5 天 |15 分钟|
| 调试效率 | print 大法逐行排查 |可视化数据流追踪|
| 团队协作 | 代码 Review |共享 JSON Flow 文件|
| 部署 | 自己写 FastAPI |一键导出 API + Python 代码|
通过本文的 5 步实战,你已经完成了 Langflow 从安装到上线完整 RAG 工作流的全过程。Langflow 的真正威力在于它的组件生态——除了本文用到的 RAG 组件外,还支持 MCP(Model Context Protocol)工具集成、多 Agent 协作、自定义 Python 组件等高级功能,值得持续探索。
