Langflow:拖拽式构建多智能体与 RAG 应用

Langflow:拖拽式构建多智能体与 RAG 应用

智能体

📖 简介

Langflow 是可视化 AI 应用构建工具,拖拽即可搭建 RAG 与多智能体工作流,内置 100+ 组件。50k+ Stars,被 DataStax 收购后商业化加速,低代码 AI 开发的新宠。

📝 详细介绍

开篇

这篇教程带你从零跑通 Langflow,最终成果是在浏览器里用拖拽方式搭出一个「网页文档问答」RAG 应用——粘贴一个网页链接,就能用自然语言向它提问。

前置条件

  • Python 3.10+:Langflow 官方支持 3.10 到 3.13,低于 3.10 会直接报依赖错误
  • Git:用于拉取源码和主分支
  • uv(推荐):Python 依赖管理工具,比 pip 快一个量级,没有也可以,教程里会备选
  • 4GB 可用内存:Langflow + Python 解释器 + 组件依赖,内存低于 3GB 启动容易卡死
  • OpenAI API Key:Demo 里的 LLM 和 Embedding 用的是 OpenAI 接口,用其它模型也可以但需要改配置
  • 浏览器:Chrome、Edge、Firefox 都行,只访问本机地址,对网络无特殊要求

安装部署

1. 安装

拉到源码后直接用 uv 安装依赖,不用单独建虚拟环境,uv 会帮你处理。

git clone https://github.com/langflow-ai/langflow.git
cd langflow
uv sync --extra all

如果没装 uv,用 pip 也是一样的效果(慢一些):

pip install -e .[all]

2. 初始化

第一次启动前需要初始化配置目录和默认数据库文件,Langflow 默认把数据放在 ~/.langflow

uv run python -m langflow setup

这一步会自动创建数据库文件、生成本地加密密钥、加载内置组件。

3. 启动

直接 run,不加参数会用默认配置。

uv run python -m langflow run

看到 Application startup complete 后,浏览器打开 http://localhost:7860,创建项目页就出来了。

第一个 Demo:网页文档问答

这个最小 RAG 流程只有 6 个节点,核心思路是:拉取网页文本 → 切分 → 向量化 → 存入向量库 → 检索 → 回答。整个过程不用写业务代码。

1. 新建项目

这一步要做什么:进入工作区后手动建一个空白项目。

点击右上角「New Project」→ 选择「Blank Project」→ 命名为 rag-demo

预期输出:画布上只有一个 Input 节点,右侧有组件面板。

2. 拉取网页内容

这一步要做什么:拖入 URL 组件(在 Data 分类下),填一个真实可访问的网页地址,比如维基百科的 Langflow 词条。

从左侧组件面板拖入「URL」
右侧属性面板填:
URL: https://en.wikipedia.com/wiki/Langflow
Output Type: Text

预期输出:组件底部预览区域出现大段从网页提取的文本。

3. 文本切分

这一步要做什么:拖入 Split Text 组件,将长文本切成 500 字符左右的块,便于检索。

拖入「Split Text」
连接方式:URL 的 Text 输出 → Split Text 的 Input
参数:
chunk_size: 500
chunk_overlap: 80

预期输出:该组件输出侧显示 chunks: 42(具体数字取决于网页长度)。

4. 向量化并存入向量库

这一步要做什么:拖入 OpenAI EmbeddingsAstra DB 组件,把每个文本块转成向量并写入向量数据库。

拖入「OpenAI Embeddings」→ 模型选 text-embedding-3-small
拖入「Astra DB Vector Store」→ 连接方式:
Split Text chunks → Astra DB Vector Store input
OpenAI Embedding → Astra DB Vector Store embedding

Astra DB 参数:
Database Key:你的 token(在 datastax.com 免费创建)
Table Name:langflow_test

预期输出:Astra DB 组件状态变成「成功」,表中出现 42 条带向量的记录。

5. 搭建问答链

这一步要做什么:把检索结果交给 LLM,让它基于上下文回答用户提问。

拖入一个「Chat Input」和「Chat Output」
拖入一个「OpenAI」模型组件,模型选 gpt-4o-mini
在 Astrar DB 组件上点选「Retriever」模式

连接方式:
Chat Input prompt → OpenAI prompt
Astra DB Retriever → OpenAI rag_retriever
OpenAI output → Chat Output

6. 运行并测试

这一步要做什么:点击右上角 Playground 按钮,在前端输入问题验证效果。

点击紫色 Playground 按钮
在聊天框输入:What is Langflow used for?

预期输出:回答会引用刚才索引的维基百科内容,而不是直接从模型知识库拿答案,比如回复里会出现「Langflow is a low-code tool for building agentic workflows...」这种来自网页的表述。

配置与调优

1. 调节 chunk 参数提升召回质量

chunk_size 决定了检索的最小单元。太长会混入无关信息,太短会丢掉语义。默认 500 针对大多数英文网页够用,如果回答明显跑题,把 size 降到 300、overlap 降到 40,再试一次。

2. 换用更好的 Embedding 模型

OpenAI 的 text-embedding-3-small 性价比高但效果一般,如果做专业领域问答,换成大模型或本地模型(如 Ollama 的 nomic-embed-text),在 Embedding 组件里直接切换就行。

3. 开启缓存

在设置界面打开「Cache Flows」后,相同输入会直接打缓存,在单元测试阶段能省下不少 API 费用。注意保存功能依赖数据库,缓存不会持久化到磁盘。

常见坑与排错

报错信息原因解决办法
ModuleNotFoundError: No module named 'langflow'没有在项目的虚拟环境里执行命令在项目根目录执行 uv run python -m langflow run
OpenAIError: 401 Incorrect API keyAPI Key 填错或环境变量没生效在组件里直接粘贴 Key,不要依赖 .env 文件;检查 Key 是否有额度
Connection error writing to Astra DB向量库配置里 Database Key 填成了普通密钥需要的是 DataStax 服务的 Application Token(AstraCS: 开头),不是 Cassandra 用户名密码
Chunking timeoutTier 内存不足,split 大量数据时进程被 kill把 chunk_size 调到大块(如 1000)减少分块数量,或升级机器

下一步

跑通这个最小 Demo 之后,往下走三个方向:

  • 加一个 Agent 节点:让 LLM 主动选择调用检索还是上网搜,形成自主决策链路
  • 换向量库:把 Astra DB 换成本地 ChromaDB,体验完全本地化部署的 RAG 集群
  • 做带身份验证的多人版本:用 Langflow 自带的 Hosted Store 把 Flow 分享给同事,学习权限配置

任何一步卡住了,先在官网搜 langflow-ai/langflow/issues,这个社区比一般开源项目活跃得多。

🚀

AI 项目推荐

智能体
标签
#可视化 #多智能体 #RAG #低代码
浏览
👁️ 41
发布日期
2026-08-15