文章摘要
本文是一份完整的Langflow工作流教程,涵盖基础概念、安装部署、工作流创建等内容。介绍了工作流的构成、运行机制,对比多种安装方式。还阐述创建工作流的方法,解析组件,讲解智能体、RAG工作流构建。此外,介绍高级功能,如循环、条件分支等,以及测试、部署、集成方式,并给出实战案例,最后解答常见问题。

本文提供一份完整的Langflow工作流教程,涵盖从安装部署到复杂工作流构建的各个环节。Langflow是一个开源、基于Python的可视化AI应用构建框架。通过本Langflow工作流教程,你将掌握流的创建、组件配置、智能体搭建、RAG检索增强生成以及API部署等核心技能,快速将AI想法转化为可运行的解决方案。

Langflow工作流教程

第一章 Langflow工作流基础概念

1.1 什么是Langflow工作流

Langflow是一个开源的、基于Python的可定制AI应用构建框架,它通过可视化编辑器简化了应用程序工作流的原型设计。在Langflow中,工作流(Flow)是应用程序工作流的功能性表示——它接收输入、处理数据并产生输出。

Langflow工作流教程的核心对象就是“流”(Flow)。一个流由多个组件(Component)构成,每个组件是工作流中的一个独立执行步骤,对应一项具体任务,例如调用大语言模型或连接数据源。组件之间通过连线(edges)传递数据,整体构成一个有向无环图(DAG)。

1.2 工作流的核心构成要素

理解Langflow工作流教程,首先需要掌握三个核心概念:

概念 英文 说明
项目 Project 容器,用于组织和管理多个工作流
工作流 Flow 完整的应用程序工作流,由多个组件拼接而成
组件 Component 工作流内的最小执行单元,每个组件完成一项特定任务

Langflow工作流的底层数据表示是一份结构化的JSON文件,包含节点列表(nodes,每个节点对应一个组件实例及其配置参数)、连线列表(edges,定义节点间的数据流向与端口映射)以及工作流元信息(flow_id、名称、描述等)。因为工作流本质上是JSON,所以它可以完整序列化——保存在本地文件系统、导出分享、进行版本管理,甚至通过API创建与触发。

1.3 工作流的运行机制

当Langflow工作流运行时,系统会根据节点和连线构建一个有向无环图对象,并对节点进行排序以确定执行顺序。图构建过程调用每个组件的构建函数来验证和准备节点,然后按依赖顺序依次执行——每个节点的执行结果会传递给依赖它的下游节点。

第二章 Langflow安装与环境准备

2.1 系统要求

在开始本Langflow工作流教程的实操之前,需要准备以下环境:

  • Python 3.10 至 3.14
  • uv(推荐的包管理器)
  • (可选)Docker和Docker Compose

2.2 安装方式对比

Langflow提供多种安装方式,适用于不同的使用场景:

安装方式 适用场景 优点 缺点
桌面客户端 新手快速上手 无需管理Python环境,开箱即用 功能更新稍慢
pip安装 开发者深度使用 灵活可控,易于集成 需要手动管理环境
Docker部署 生产环境/团队协作 环境一致,易于扩展 需要Docker知识

2.3 pip安装步骤

对于大多数Langflow工作流教程的读者,推荐使用pip安装方式:

# 在全新目录中执行
uv pip install langflow -U

安装完成后,通过以下命令启动Langflow:

uv run langflow run

启动后访问 http://127.0.0.1:7860 即可进入Langflow的可视化界面。

2.4 Docker部署方式

对于生产环境或需要持久化存储的场景,可以使用Docker部署Langflow:

# 使用docker run快速启动
docker run -p 7860:7860 langflowai/langflow

# 或使用docker-compose进行更完整的部署

第三章 创建第一个Langflow工作流

3.1 从模板创建工作流

这是Langflow工作流教程中最快捷的入门方式。进入Langflow的项目页面后,点击“新建流”(New Flow),系统会展示多种预置模板供选择。

Langflow内置了41个Starter Project模板,覆盖常见AI场景:

模板分类 代表模板
基础入门 Basic Prompting、Basic Prompt Chaining
问答/RAG Document Q&A、Knowledge Retrieval、Hybrid Search RAG
智能体 Research Agent、Pokédex Agent、Custom Component Generator
内容生成 Blog Writer、Instagram Copywriter、Meeting Summary
数据处理 Financial Report Parser、Invoice Summarizer
多模态 Image Sentiment Analysis、Nvidia Remix

3.2 创建空白工作流

选择“空白流”(Blank Flow)后,系统会跳转到画布编辑器。在画布上,你可以从左侧的“核心组件”(Core Components)和“组件包”(Bundles)菜单中拖放组件到工作区。

3.3 一个简单示例:基础提示词工作流

我们通过一个最简单的Langflow工作流教程示例来理解基本操作:

  1. 从组件面板拖入“Chat Input”组件(聊天输入)
  2. 拖入“Prompt”组件(提示词模板)
  3. 拖入“Language Model”组件(大语言模型)
  4. 拖入“Chat Output”组件(聊天输出)
  5. 依次连接组件:Chat Input → Prompt → Language Model → Chat Output
  6. 配置每个组件的参数(如API密钥、提示词模板内容等)
  7. 点击“Playground”进行测试

这个工作流的数据流向为:用户输入 → 提示词拼接 → 大模型推理 → 输出回复。

3.4 AI辅助生成工作流

Langflow 1.10及以上版本提供了AI生成工作流的功能。用户无需手动拖拽组件,直接在对话框用自然语言描述需求,AI即可自动生成完整的工作流画布。这一功能进一步降低了Langflow工作流教程的学习门槛。

第四章 Langflow组件深度解析

4.1 组件的概念与分类

组件是Langflow工作流教程中最重要的构建单元。每个组件执行一项特定任务,如提供AI模型服务或连接数据源。组件按类型或提供商进行分组。

Langflow拥有超过294个组件,分为95+个分类。主要分类包括:

组件分类 功能说明 典型组件
输入/输出组件 工作流的数据入口和出口 Chat Input、Chat Output、Text Input
大语言模型组件 调用各类LLM OpenAI、Anthropic、Hugging Face
提示词组件 管理和格式化提示词 Prompt、Prompt Template
数据组件 数据加载与处理 Directory、File、Parse Data
向量数据库组件 向量存储与检索 Milvus、Astra DB、Pinecone
智能体组件 自主决策与工具调用 Agent、Simple Agent
逻辑组件 流程控制 Loop、If-Else、Batch Run

4.2 组件的配置与连接

将组件添加到工作流后,需要配置其参数。每个组件都有配置选项——有些是所有组件共有的,有些是特定组件独有的。

组件之间通过边(edges)或端口(ports)连接,每个端口都有特定的数据类型。例如,消息端口在组件之间发送文本字符串。Langflow的前端会实时校验类型兼容性,避免将字符串输出连接到期望数字输入的处理器。

4.3 自定义组件

除了核心组件,Langflow还支持自定义组件。你可以使用他人开发的自定义组件,也可以开发自己的组件供个人使用或分享给其他用户。这一特性使得Langflow工作流教程不仅适用于初学者,也能满足高级开发者的定制需求。

第五章 构建智能体工作流

5.1 智能体组件的核心概念

智能体(Agent)是Langflow工作流教程中一个关键的高级功能。智能体是一种能够自主决策、调用工具并完成复杂任务的AI组件。

在Langflow中,智能体工作流通常包含以下要素:

  • 大语言模型:作为智能体的“大脑”,负责推理和决策
  • 工具集:智能体可以调用的外部功能,如搜索引擎、计算器、数据库查询等
  • 记忆机制:存储对话历史,实现上下文感知
  • 提示词:定义智能体的角色、目标和行为准则

5.2 创建简单智能体工作流

从“Simple Agent”模板开始是学习Langflow工作流教程中智能体构建的最佳方式:

  1. 点击“New Flow”,选择“Simple Agent”模板
  2. 工作流自动包含一个Agent组件,以及可配置的工具
  3. 在Agent组件的设置中指定大语言模型
  4. 添加或移除工具(如Web Search、Calculator等)
  5. 配置提示词,定义智能体的行为

5.3 多智能体协作工作流

多智能体系统(MAS)是一种更高级的Langflow工作流形态——多个专业化的智能体协作完成一个共同目标。每个智能体承担单一职责(如规划、检索、总结、审查、综合),拥有清晰的输入/输出接口,并可以配备自己的工具和模型。

要创建多智能体工作流,可以将一个Agent组件设置为“Tool Mode”,然后将其作为工具附加到主Agent组件上。

5.4 MCP协议集成

Langflow支持Model Context Protocol(MCP),这是一种让AI工具之间相互调用的标准化协议。通过MCP集成,Langflow工作流可以调用外部MCP服务器提供的工具。

例如,你可以构建一个自动生成Git提交消息的Langflow工作流,它通过Git MCP服务器访问代码仓库的变更信息。

第六章 RAG工作流构建实战

6.1 RAG工作流概述

检索增强生成(RAG)是Langflow工作流教程中最常见也最强大的应用场景之一。RAG工作流让大语言模型能够基于外部知识库生成回答,从而解决模型知识过时和幻觉问题。

典型的RAG工作流包含两个子流:

  1. 知识入库子流:将文档分块、向量化并存入向量数据库
  2. 检索问答子流:将用户问题向量化,从向量数据库检索相关文档,将检索结果与问题一起交给LLM生成回答

6.2 基于模板构建RAG工作流

Langflow提供了“Vector Store RAG”模板,开箱即用地支持RAG场景。使用模板的步骤:

  1. 选择“Vector Store RAG”模板创建新工作流
  2. 配置向量数据库(支持Milvus、Astra DB、Pinecone等)
  3. 配置大语言模型(设置API密钥和模型参数)
  4. 上传文档数据,执行知识入库
  5. 在Playground中测试问答效果

6.3 集成Milvus向量数据库

Milvus是一个开源的向量数据库,与Langflow配合可以构建生产级的RAG工作流。集成步骤:

  1. 部署Milvus向量数据库(使用Docker Compose)
  2. 创建Python虚拟环境并安装Langflow
  3. 启动Langflow,选择Vector Store RAG模板
  4. 将默认的向量数据库替换为Milvus
  5. 填写Milvus连接信息(主机、端口等)
  6. 配置OpenAI或其他LLM的API密钥
  7. 上传数据并执行向量化嵌入

6.4 多向量检索

Langflow 1.11.0引入了多向量检索功能,支持ColBERT风格的后期交互和ColPali风格的视觉文档检索。这使得RAG工作流能够处理更复杂的检索场景,包括包含图像、表格等元素的文档。

第七章 高级工作流功能

7.1 循环与批处理

Loop组件是Langflow工作流教程中处理批量数据的重要工具。Loop组件就像一个工作流中的“微型工作流”——它接受一个JSON或Table对象的列表,逐个处理列表中的每一项,最后汇总所有循环的结果。

Loop组件的处理流程:

  • 通过Inputs端口接收数据列表
  • 通过Item端口逐个输出数据项给下游组件处理
  • 处理完所有项后,通过Done端口输出汇总结果

Batch Run组件则适用于对表格数据的批量处理,它对表格中每一行的指定文本列运行大语言模型。

7.2 条件分支

If-Else组件为Langflow工作流提供了条件路由能力。它根据条件判断(如文本匹配、数值比较等)将数据流导向不同的处理路径,实现复杂的工作流逻辑控制。

7.3 记忆与状态管理

记忆(Memory)是让Langflow工作流具备上下文感知能力的关键。Langflow提供多种记忆组件:

记忆组件 说明
Chat Memory 存储对话历史,实现多轮对话
Message History 从数据库存储和检索聊天消息
Memory Base 基于向量存储的长期记忆,自动摄取每次运行后的对话消息
Redis Chat Memory 使用Redis存储聊天消息

Langflow 1.10引入了“记忆库”(Memory Bases)功能,为工作流提供了长期记忆能力。

7.4 子工作流调用

Run Flow组件允许一个Langflow工作流调用另一个工作流作为子流程。这实现了工作流的模块化和复用,让复杂系统可以拆分为多个可独立维护的子工作流。

第八章 工作流测试、部署与集成

8.1 使用Playground进行测试

Playground是Langflow工作流教程中测试和调试的核心工具:

  • 运行工作流并与流进行对话
  • 查看输入和输出数据
  • 实时修改LLM的记忆以微调响应
  • 对于包含Agent组件的工作流,Playground会显示工具调用和输出,便于监控智能体的决策过程

8.2 通过API触发工作流

Langflow为每个工作流自动生成API端点:

  1. 在工作流编辑器中点击“Share”(共享)
  2. 选择“API access”(API访问)
  3. 系统提供自动生成的Python、JavaScript和curl代码片段
  4. 这些代码片段调用 /v1/run/$FLOW_ID 端点

Workflow API(v2)提供了更强大的工作流执行能力,支持同步和异步两种模式。

8.3 Webhook触发

Webhook组件允许外部系统通过HTTP请求触发Langflow工作流。配置好Webhook组件后,从Endpoint字段获取API端点,外部应用即可向该端点发送数据来触发工作流。

8.4 工作流导出与嵌入

Langflow支持多种方式将工作流集成到外部应用中:

  • 导出:将工作流导出为JSON文件到本地
  • 嵌入网站:将工作流嵌入HTML、React或Angular应用
  • MCP服务器:将工作流作为工具暴露给MCP兼容的客户端

8.5 生产环境部署

将Langflow工作流部署到生产环境时,官方推荐:

  • 使用Docker容器化应用
  • 配置持久化存储(如PostgreSQL)
  • 启用多worker支持以提高并发性能
  • 配置适当的认证和授权机制

第九章 实战案例:构建一个完整的工作流

9.1 案例:文档智能问答助手

本Langflow工作流教程的实战案例是构建一个基于RAG的文档智能问答助手。

工作流设计

阶段 组件 功能
输入 Chat Input 接收用户问题
检索 Vector Store 从向量数据库检索相关文档
增强 Prompt 将检索结果与用户问题组合成提示词
生成 Language Model 基于提示词生成回答
输出 Chat Output 返回回答给用户

知识入库子流

组件 功能
Directory 加载本地文档目录
Parse Data 解析文档内容
Split Text 将文档分块
Embeddings 生成向量嵌入
Vector Store 存储向量到数据库

9.2 案例:多智能体研究助手

基于Langflow的多智能体支持,可以构建一个深度研究工作流:

  1. 规划智能体:理解用户的研究问题,制定研究计划
  2. 检索智能体:执行网络搜索或文档检索
  3. 分析智能体:分析检索结果,提取关键信息
  4. 综合智能体:整合所有分析结果,生成研究报告

每个智能体拥有独立的工具和模型配置,通过Langflow的可视化画布连接协作。

FAQ

Q1:Langflow和LangChain是什么关系?

Langflow是基于LangChain框架构建的可视化工作流工具。它将LangChain中的各种模块(提示词、大语言模型、链、智能体、记忆、文档加载器等)抽象为可视化的组件节点。用户在画布上拖拽组件构建工作流时,Langflow后端会自动将图形结构翻译成对应的LangChain对象树并按拓扑顺序执行。

Q2:Langflow工作流支持哪些大语言模型?

Langflow支持多种大语言模型,不强制使用特定模型。支持的模型包括OpenAI(GPT系列)、Anthropic(Claude系列)、Hugging Face模型、Google Gemini、Azure OpenAI等。你可以根据需求在组件配置中选择和切换不同的模型提供商。

Q3:Langflow工作流中的数据如何持久化?

Langflow工作流本身以JSON格式保存,可以存储在本地文件系统或数据库中。对于工作流运行时产生的数据(如对话历史、向量嵌入等),Langflow支持多种持久化方案:可以使用内置的SQLite数据库,也可以配置PostgreSQL、Astra DB等外部数据库。记忆组件可以将聊天记录存储到Redis或向量数据库中。

Q4:Langflow工作流能否在无网络环境下运行?

可以。Langflow支持本地部署和离线运行。通过桌面客户端或本地pip安装,你可以在完全离线环境中构建和运行Langflow工作流。但需要注意,调用外部大语言模型API(如OpenAI)时仍需网络连接;如需完全离线,可以配置本地部署的LLM(如通过Ollama或LocalAI)。

Q5:如何调试Langflow工作流中的错误?

Langflow提供多种调试手段:Playground中可查看每一步的输入输出;工作流日志记录了详细的执行信息;对于复杂工作流,可以逐步执行单个组件来定位问题。此外,Langflow支持与LangSmith和Langfuse集成,实现端到端的工作流监控、调试和执行链路回放。

Q6:Langflow工作流可以处理多大规模的数据?

Langflow工作流的数据处理能力取决于底层组件和基础设施。通过Loop和Batch Run组件可以处理批量数据;结合Milvus等向量数据库可以管理百万级向量;通过Redis-backed任务队列和多worker部署可以支持高并发场景。

Q7:Langflow Desktop和Web版本有什么区别?

Langflow Desktop是桌面客户端版本,所有依赖已包含在内,无需管理Python环境,适合新手快速上手。Web版本(通过pip安装或Docker部署)更灵活,支持服务器部署、团队协作和API集成。两个版本的核心功能一致,主要区别在于部署方式和运行环境。

以上内容不代表本平台立场,仅供读者参考