一天一个开源项目(第215篇):Langflow - 可视化拖拽构建 AI 应用的低代码平台

文章来源声明: 原文作者:冬奇Lab; 来源站点:掘金; 原文链接:https://juejin.cn/post/7684463933718773787; 本文基于上述来源整理/加工,觅优补充点评,仅供技术学习交流。版权归原作者所有。
觅优短评

把 AI 应用开发门槛从「会写 LangChain 代码」降到「会连线」,却未牺牲参数级控制,适合要快速验证 RAG/Agent 方案又能落地生产 API 的 Python 团队。

引言 --

"Make AI building accessible to everyone."

这是"一天一个开源项目"系列的第 215 篇文章。今天带你了解的项目是 Langflow

如果你曾经看着 LangChain 的文档感到头皮发麻——各种 Chain、Memory、Retriever 类互相嵌套,代码跑起来不知道数据在哪个环节出了问题——Langflow 就是为了解决这个问题而生的。

它把 LLM 应用开发中的每一个组件(模型、向量库、Prompt 模板、工具、Agent)都变成一个可拖拽的节点,用连线表达数据流向,最终生成一个可直接部署为 API 的 AI 应用。可视化调试、实时测试、一键导出代码,这是目前开源社区里对"让 AI 开发变简单"这件事做得最系统的项目之一。

截至 2026 年,Langflow 在 GitHub 上已积累超过 50,000 Stars,是 AI 应用构建工具里当之无愧的头部开源项目。

你将学到什么

  • Langflow 的核心设计理念:用流程图替代代码描述 AI 数据流
  • 如何用拖拽方式搭建一个完整的 RAG(检索增强生成)管道
  • Langflow 的组件体系:LLM、向量库、Embedding、Agent、工具如何协作
  • Python SDK 与 REST API 的使用方式,将 Flow 嵌入现有系统
  • 与 n8n、Dify 等同类工具的对比分析

前置知识

  • 了解 LLM(大语言模型)的基本工作原理
  • 知道 RAG 的概念(检索增强生成)
  • Python 基础环境(本地部署需要)

项目背景

项目简介

Langflow 是一个低代码的 AI 应用构建平台,核心功能是提供一个可视化的流程编辑器,让用户通过拖放组件、连接节点的方式,构建 RAG 流水线、多 Agent 系统、对话机器人、数据处理管道等各类 AI 应用。

构建完成后,Langflow 会将整个流程自动暴露为一个 REST API 端点,也可以导出为 Python 代码,直接集成到生产环境。这意味着你在界面上拖出来的流程图,不是一个演示玩具,而是可以直接部署的后端服务。

Langflow 最初基于 LangChain 构建,后来逐步发展为一个独立的生态——它支持 LangChain 组件,也支持大量原生组件,覆盖几乎所有主流 LLM 提供商和向量数据库。

作者/团队介绍

  • 开发者:langflow-ai 团队
  • 重要背景:2024 年 DataStax(Cassandra 数据库背后的公司)收购了 Langflow,为其提供了商业化支撑和企业级部署能力
  • 定位转变:从 LangChain 的可视化 Playground 演进为独立的 AI 应用构建平台
  • 项目创建时间:2023 年初

项目数据

  • ⭐ GitHub Stars: 50,000+
  • 🍴 Forks: 6,000+
  • 📦 最新版本: 1.x(持续迭代中)
  • 📄 License: MIT
  • 🌐 官网: langflow.org
  • 🐍 语言:Python(后端)+ TypeScript/React(前端)

主要功能

核心作用

Langflow 解决的核心问题是:AI 应用的开发和调试成本太高

用纯代码构建一个 RAG 系统,你需要理解 LangChain 的 API 层级结构,手写 Prompt 模板,处理向量检索的参数,调试时只能靠打印语句猜测中间结果。Langflow 把这个过程可视化:

用户上传文档
    ↓ <span>[文件解析器]</span>
分块文本 (Chunk)
    ↓ <span>[Embedding 模型]</span>
向量表示
    ↓ <span>[向量数据库存储]</span>
              ↑
用户输入问题 → <span>[Retriever]</span> → 相关文本块
                                  ↓
                        <span>[Prompt 模板]</span> + <span>[LLM]</span>
                                  ↓
                             最终回答

每一个方块都是一个可以独立配置和测试的节点,每条连线都代表一份数据流。中间出了问题,点一下节点就能看到它的输入和输出。

使用场景

  1. RAG 问答系统

    • 上传 PDF、网页、Notion 文档,构建基于私有知识库的问答机器人,接入企业内部知识管理。
  2. 多 Agent 协作系统

    • 将多个 Agent(搜索 Agent、代码 Agent、总结 Agent)用流程图串联,实现分工协作的复杂推理任务。
  3. LLM 应用原型快速验证

    • 在 Langflow 里拖几分钟先跑通逻辑,验证可行性后再落地为代码,节省早期探索成本。
  4. API 服务快速上线

    • 构建好 Flow 后,Langflow 自动生成带鉴权的 REST API,不需要自己写 FastAPI 服务。
  5. AI 流水线可视化调试

    • 在生产问题排查时,用可视化界面复现问题,逐节点追踪数据,比 debug 代码直观得多。

快速开始

方法 1:pip 安装(推荐本地体验)

<span># 安装</span>
pip install langflow

<span># 启动(默认 http://localhost:7860)</span>
langflow run

浏览器打开后,从左侧组件库拖出你需要的模块,连线,点右上角 Playground 按钮,直接测试对话。

方法 2:Docker 部署

docker run -p 7860:7860 langflowai/langflow:latest

方法 3:uv(推荐生产部署)

uv pip install langflow
uv run langflow run

用 Python SDK 调用已构建的 Flow

<span>from</span> langflow.load <span>import</span> run_flow_from_json

<span># 导出的 Flow JSON 文件</span>
result = run_flow_from_json(
    flow=<span>"my_rag_flow.json"</span>,
    input_value=<span>"公司的退款政策是什么?"</span>,
    tweaks={
        <span>"OpenAI-xxxx"</span>: {<span>"model_name"</span>: <span>"gpt-4o"</span>},
        <span>"ChromaDB-yyyy"</span>: {<span>"collection_name"</span>: <span>"company_docs"</span>}
    }
)
<span>print</span>(result)

用 REST API 调用

curl -X POST \
  <span>"http://localhost:7860/api/v1/run/{flow_id}"</span> \
  -H <span>"Content-Type: application/json"</span> \
  -H <span>"x-api-key: your-api-key"</span> \
  -d <span>'{"input_value": "公司的退款政策是什么?", "stream": false}'</span>

核心特性

  1. 拖拽式流程编辑器

    • 所见即所得的节点画布,组件之间的数据流向通过连线表达,支持撤销/重做和流程版本管理。
  2. 覆盖主流提供商的组件库

    • LLM:OpenAI、Anthropic、Google Gemini、Groq、Ollama、Mistral、Cohere 等
    • 向量库:Chroma、Pinecone、Weaviate、Qdrant、PGVector、Milvus 等
    • Embedding:OpenAI、Hugging Face、Cohere、Ollama 等
    • 工具:Google Search、DuckDuckGo、Wikipedia、计算器、自定义 Python 函数等
  3. 内置 Playground 测试

    • 流程构建完成后,直接在界面内进行多轮对话测试,无需切换到其他工具。
  4. 一键暴露 REST API

    • 每个 Flow 自动获得一个带版本管理的 API 端点,支持流式输出(SSE),可直接对接前端或其他服务。
  5. 自定义 Python 组件

    • 当内置组件不满足需求时,可以在界面内直接写 Python 代码,封装为自定义节点,和其他组件无缝协作。
  6. 多 Agent 与 Agent 工具链

    • 支持 ReAct、Plan-and-Execute 等 Agent 模式,Agent 节点可以挂载工具列表,构建复杂推理链。
  7. Flow 版本与团队协作

    • 支持 Flow 的导入/导出(JSON 格式),可以版本化存储,在团队间共享和复用。
  8. 企业级部署支持

    • DataStax 提供商业版(Langflow Cloud),支持 SSO、权限管理、托管部署,开源版本也支持 Docker / Kubernetes 自托管。

项目优势

对比项LangflowDifyn8n
**定位**AI 应用流程构建AI 应用构建平台(含运营后台)通用自动化工作流
**技术深度**深,覆盖 Embedding/向量检索/Agent 细节中,封装程度更高,配置更少浅,AI 能力是插件之一
**自定义能力**Python 代码组件,灵活度高较有限JavaScript 代码节点
**LLM 支持广度**极广(20+ 提供商)广(主流均支持)通过 HTTP 调用,间接支持
**开源协议**MITMITFair-code(商用受限)
**学习曲线**需要理解 LLM/RAG 概念更平缓较平缓
**Stars**50,000+60,000+50,000+

为什么选择 Langflow?

  • 需要深度控制 RAG 流水线每个环节的参数(Chunk size、Retrieval Top-K、Reranker 等)
  • 团队里有 Python 工程师,需要在可视化和代码之间灵活切换
  • 想把构建好的 AI 能力快速暴露为标准 API,集成到现有系统

项目详细剖析

1. 架构设计:前后端分离的流程执行引擎

Langflow 的整体架构分为三层:

┌─────────────────────────────────────────────┐
│           前端:React + TypeScript           │
│   节点编辑器 / Playground / API 管理界面     │
└─────────────────────────────────────────────┘
                      ↕ <span>REST</span> API / WebSocket
┌─────────────────────────────────────────────┐
│           后端:Python FastAPI               │
│  流程解析引擎 / 组件注册表 / 执行调度器     │
│  <span>Flow</span> JSON → 执行图 → 逐节点运行            │
└─────────────────────────────────────────────┘
                      ↕
┌─────────────────────────────────────────────┐
│         组件层:LangChain + 原生组件         │
│  LLM / Embeddings / VectorStore / Tools      │
│  每个组件是一个独立的 Python 类              │
└─────────────────────────────────────────────┘

前端用 React Flow 实现节点画布,每个节点的配置通过 JSON 序列化,发送给后端执行引擎。后端解析 Flow JSON,构建有向无环图(DAG),按拓扑顺序执行每个节点,将输出传给下游节点。

2. 组件体系:一切皆 Component

Langflow 最聪明的设计是它的组件抽象层。每一个功能单元——不管是 OpenAI 的 GPT-4o 还是你自己写的 Python 函数——都继承自同一个 Component 基类:

<span>from</span> langflow.custom <span>import</span> Component
<span>from</span> langflow.io <span>import</span> MessageTextInput, Output
<span>from</span> langflow.schema <span>import</span> Data

<span>class</span> <span>MyCustomComponent</span>(<span>Component</span>):
    <span># 显示名称(在界面左侧组件库展示)</span>
    display_name = <span>"我的自定义组件"</span>
    description = <span>"一个示例自定义组件"</span>

    <span># 定义输入端口</span>
    inputs = [
        MessageTextInput(
            name=<span>"input_text"</span>,
            display_name=<span>"输入文本"</span>,
            info=<span>"待处理的文本内容"</span>
        ),
    ]

    <span># 定义输出端口</span>
    outputs = [
        Output(
            display_name=<span>"处理结果"</span>,
            name=<span>"output"</span>,
            method=<span>"process_text"</span>
        ),
    ]

    <span>def</span> <span>process_text</span>(<span>self</span>) -> Data:
        <span># 组件的核心逻辑写在这里</span>
        result = self.input_text.upper()  <span># 示例:转大写</span>
        <span>return</span> Data(data={<span>"text"</span>: result})

这个设计的好处:

  • 任何 Python 逻辑都能封装为组件,无需适配复杂接口
  • 类型系统自动推断连线兼容性:输出类型和输入类型不匹配时,界面会给出提示
  • 组件配置自动生成 UI:在类里声明 inputs,界面上的配置面板自动生成,不需要单独写前端代码

3. RAG 流水线的典型构建方式

以"基于 PDF 文档的问答系统"为例,在 Langflow 中一个完整的 RAG 流程由以下节点组成:

<span>[PDF 文件输入]</span>
      ↓
<span>[文档解析器 (PyPDF / Unstructured)]</span>
      ↓
<span>[文本分割器 (RecursiveCharacterTextSplitter)]</span>
  <span>chunk_size</span>=<span>1000</span>, overlap=<span>200</span>
      ↓
<span>[Embedding 模型 (OpenAI text-embedding-3-small)]</span>
      ↓
<span>[向量数据库 (Chroma / Pinecone)]</span>
      ↑
<span>[用户输入 (Chat Input)]</span> → <span>[Retriever]</span>
                               ↓
                     <span>[相关文档块(Top-K=4)]</span>
                               ↓
                     <span>[Prompt 模板]</span>
                     "根据以下上下文回答问题:
                      {context}
                      问题:{question}"
                               ↓
                     <span>[LLM (GPT-4o / Claude Sonnet)]</span>
                               ↓
                     <span>[Chat Output(流式输出)]</span>

每个节点的参数(chunk_size、Top-K、模型名称、Prompt 模板内容)都可以直接在节点的配置面板里修改,改完直接在 Playground 里重新测试,调参效率比改代码高很多。

4. Flow 的导出与代码化

Langflow 不是一个黑盒——构建好的 Flow 可以导出为两种格式:

1. JSON 格式(用于部署或版本管理)

<span>{</span>
  <span>"name"</span><span>:</span> <span>"RAG 问答系统"</span><span>,</span>
  <span>"description"</span><span>:</span> <span>"基于公司文档的问答机器人"</span><span>,</span>
  <span>"nodes"</span><span>:</span> <span>[</span>
    <span>{</span><span>"id"</span><span>:</span> <span>"openai-1"</span><span>,</span> <span>"type"</span><span>:</span> <span>"OpenAIModel"</span><span>,</span> <span>"data"</span><span>:</span> <span>{</span><span>"model_name"</span><span>:</span> <span>"gpt-4o"</span><span>}</span><span>}</span><span>,</span>
    <span>{</span><span>"id"</span><span>:</span> <span>"chroma-1"</span><span>,</span> <span>"type"</span><span>:</span> <span>"Chroma"</span><span>,</span> <span>"data"</span><span>:</span> <span>{</span><span>"collection_name"</span><span>:</span> <span>"docs"</span><span>}</span><span>}</span><span>,</span>
    ...
  <span>]</span><span>,</span>
  <span>"edges"</span><span>:</span> <span>[</span>
    <span>{</span><span>"source"</span><span>:</span> <span>"chroma-1"</span><span>,</span> <span>"target"</span><span>:</span> <span>"openai-1"</span><span>,</span> <span>"sourceHandle"</span><span>:</span> <span>"documents"</span><span>,</span> <span>"targetHandle"</span><span>:</span> <span>"context"</span><span>}</span>
  <span>]</span>
<span>}</span>

2. Python 代码(用于完全脱离 Langflow 运行)

导出的 Python 代码直接调用 LangChain 或底层 SDK,可以在任何 Python 环境中运行,不再依赖 Langflow 服务。这意味着 Langflow 可以只作为开发和调试工具,生产环境跑的是纯粹的 Python 代码。

5. 与 MCP 的集成

Langflow 1.x 开始支持将 Flow 暴露为 MCP 工具,让 Claude Code、Cursor 等 AI 开发工具直接调用你在 Langflow 里构建的 AI 流程:

<span>// Claude Code 的 MCP 配置</span>
<span>{</span>
  <span>"mcpServers"</span><span>:</span> <span>{</span>
    <span>"my-rag-flow"</span><span>:</span> <span>{</span>
      <span>"url"</span><span>:</span> <span>"http://localhost:7860/api/v1/mcp/flows"</span><span>,</span>
      <span>"apiKey"</span><span>:</span> <span>"your-langflow-api-key"</span>
    <span>}</span>
  <span>}</span>
<span>}</span>

配置完成后,在 Claude Code 对话里就可以说:"查一下我们公司的退款政策"——Claude 会通过 MCP 调用你在 Langflow 里搭好的 RAG 系统,返回基于真实文档的答案。


项目地址与资源

官方资源

相关资源


总结与展望

核心要点回顾

  1. 可视化流程编辑器:用节点和连线描述 AI 数据流,替代嵌套的 LangChain 代码,大幅降低 RAG/Agent 应用的开发和调试成本
  2. 覆盖 20+ LLM 提供商:从 OpenAI、Anthropic 到 Ollama 本地模型,一个平台统一接入
  3. 自定义 Python 组件:内置组件不够用时,直接在界面里写 Python 扩展,灵活性不打折
  4. 一键 API 部署:Flow 构建完成即可得到标准 REST API,无需额外开发后端服务
  5. 可导出为 Python 代码:不锁定平台,随时脱离 Langflow 在纯 Python 环境运行

适用人群

  • AI 应用开发者:想快速原型验证 RAG 方案,或者需要可视化调试复杂 Agent 流程
  • 产品经理/数据科学家:不擅长后端开发,但需要构建基于私有文档的问答系统
  • 企业技术团队:需要一个标准化的 AI 应用构建平台,让团队成员共享和复用 Flow
  • AI 教育/研究:用可视化界面理解 RAG 和 Agent 的工作原理,比看代码直观得多

一句话评价

Langflow 是目前开源社区里把"AI 应用构建"这件事做得最系统的工具——它让 RAG 和 Agent 的开发门槛从"会写 LangChain 代码"降低到了"会连线",同时又没有牺牲深度控制能力。


欢迎访问 PrimeSkills —— 一个精心策划的 AI Agent 与技能市场,所有内容均经过真实企业级工作流验证。没有噱头,只有真正有效的东西。

更多实用知识和有趣产品,欢迎访问我的个人主页