❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦
⌨️ 「还在手写LangChain?这个可视化工具让AI应用开发像搭积木一样简单!」
大家好,我是蚝油菜花。你是否经历过——
- 👉 调试Chain时在数十个Python文件间疯狂跳转
- 👉 想快速验证RAG方案却被向量数据库配置劝退
- 👉 向老板演示原型时发现Agent逻辑存在循环依赖…
今天要介绍的 LangFlow ,正是解决这些痛点的终极武器!这个由Python驱动的可视化开发平台,让你通过拖拽组件就能构建多Agent系统,内置RAG流水线、实时调试面板、一键导出Python代码。已经有团队用它把POC开发周期从2周缩短到2天——准备好迎接AI工程化的范式革命了吗?
🚀 快速阅读
LangFlow 是一款低代码、可视化的 AI 应用构建工具,用于快速搭建和实验 LangChain 流水线。
- 核心功能:通过拖拽组件创建复杂的 AI 工作流,支持多代理对话管理和 RAG(检索增强生成)应用。
- 技术原理:基于有向无环图(DAG)的执行引擎,确保工作流的高效执行和结果的正确性。
LangFlow 是什么
LangFlow 是一款低代码、可视化的 AI 应用构建工具,专为快速搭建和实验 LangChain 流水线而设计。通过拖拽式界面,用户可以轻松创建复杂的 AI 工作流,无需编写大量代码。它支持多代理对话管理和 RAG(检索增强生成)应用,适用于构建智能聊天机器人、文档分析系统和内容生成工具等场景。
LangFlow 提供了丰富的预构建组件和模板,用户可以通过 Python 代码对组件进行自定义,满足不同场景的需求。此外,用户可以将工作流以 API 形式发布,或导出为 Python 应用程序,方便集成到其他系统中。
LangFlow 的主要功能
- 可视化工作流构建:通过拖拽组件,用户可以轻松创建复杂的 AI 工作流。
- 多代理支持:支持多代理的编排、对话管理和信息检索。
- Python 自定义:用户可以使用 Python 代码对组件进行自定义。
- 预构建组件:提供数百个预构建的组件和模板,方便快速开始项目。
- 即时测试环境:内置的 Playground 功能允许用户实时测试和迭代工作流。
- 云部署与本地运行:支持在 DataStax Langflow 云平台免费部署,也支持本地运行。
- API 发布与导出:用户可以将工作流发布为 API 或导出为 Python 应用程序。
- 生态系统集成:支持与 LangSmith、LangFuse 或 LangWatch 等工具集成,提供企业级安全性和可扩展性。
LangFlow 的技术原理
- 基于有向无环图(DAG)的执行引擎:当工作流运行时,LangFlow 会根据组件和连接线构建一个有向无环图(DAG)。DAG 的节点(组件)会按照依赖关系排序并依次执行,每个节点的输出结果会传递给依赖它的下一个节点,确保了工作流的高效执行和结果的正确性。
- 组件化设计与灵活性:LangFlow 的组件化设计支持用户根据需求选择或自定义组件。支持与多种模型、API 和数据库集成,开发者可以轻松扩展和复用组件。LangFlow 提供了数百个预构建的组件,满足不同场景的需求。
- RAG(检索增强生成)支持:LangFlow 提供了对 RAG 的支持,通过智能文本分块模块将长文档结构化存储到向量数据库中,在查询时通过向量检索快速定位相关信息。
- Python 驱动与开源特性:LangFlow 基于 Python 开发,完全开源,用户可以通过 Python 完全自定义工作流或扩展功能。
如何安装 Langflow
- 安装 Python 3.10 至 3.12。
- 安装
uv
、pip
或pipx
。 - 建议创建一个虚拟环境来隔离 Python 依赖项。您可以使用
uv
、venv
或conda
创建虚拟环境。
以下是使用 pip 或 pipx 安装 Langflow 的方法。
1. 使用 uv 安装 Langflow
运行以下命令:
uv pip install langflow
2. 使用 pip 安装 Langflow
运行以下命令:
python -m pip install langflow
3. 使用 pipx 安装 Langflow
运行以下命令:
pipx install langflow --python python3.10
如何运行 Langflow
安装完成后,您可以根据以下步骤运行 Langflow。
1. 使用 uv 运行 Langflow
运行以下命令:
uv run langflow run
2. 使用 pip 运行 Langflow
运行以下命令:
python -m langflow run
访问 http://127.0.0.1:7860 确认本地实例已启动。
3. DataStax Langflow 快速启动
DataStax Langflow 是 Langflow 的托管版本,集成了 Astra DB
。无需安装或设置,即可在几分钟内启动并运行。您可以免费注册
。
- Astra DB:https://www.datastax.com/products/datastax-astra
- 免费注册:https://astra.datastax.com/signup?type=langflow
快速上手 Langflow
准备就绪
在开始之前,请确保您已准备好以下内容:
1. OpenAI API 密钥
您需要一个有效的 OpenAI API 密钥
,以便与 OpenAI 模型进行交互。
- OpenAI API:https://platform.openai.com/
2. Astra DB 向量数据库
您还需要一个 Astra DB 向量数据库
,其中包括:
-
AstraDB 应用程序令牌
-
在 Astra 中创建的集合(用于存储向量数据)
-
Astra DB 向量数据库:https://docs.datastax.com/en/astra-db-serverless/get-started/quickstart.html
打开 Langflow 并创建新项目
1. 打开 Langflow 并创建新流程
从 Langflow 仪表盘中,点击 New Flow,然后选择 Blank Flow。这将打开一个空白工作区,您可以在其中构建流程。
提示:如果您不想从空白流程开始,可以点击 New Flow,然后选择 Basic Prompting,以使用预构建的流程。
2. 选择 Basic Prompting
点击 Basic Prompting,系统将为您创建一个基础的提示流程。
构建基础提示流程
完成的基础提示流程应如下所示:
1. 添加 Chat Input 组件
点击 Inputs,选择 Chat Input 组件,并将其拖放到画布上。此组件用于接受用户输入。
2. 添加 Prompt 组件
点击 Prompt,选择 Prompt 组件,并将其拖放到画布上。此组件用于将用户输入与自定义提示结合。
3. 添加 Chat Output 组件
点击 Outputs,选择 Chat Output 组件,并将其拖放到画布上。此组件用于输出流程的结果。
4. 添加 OpenAI 模型组件
点击 Models,选择 OpenAI 模型组件,并将其拖放到画布上。此组件用于将用户输入和提示发送到 OpenAI API,并接收响应。
此时,您的流程应如下所示:
5. 连接组件
为了使数据从 Chat Input 流向 Chat Output,需要将组件连接起来:
- 从 Chat Input 的 Message 端口拖动到 OpenAI 组件的 Input 端口。
- 从 Prompt 的 Prompt Message 端口拖动到 OpenAI 组件的 System Message 端口。
- 从 OpenAI 组件的 Text 端口拖动到 Chat Output 的 Text 端口。
完成连接后,您的流程应如下所示:
运行基础提示流程
1. 配置 OpenAI 组件
在 OpenAI 组件中添加您的 OpenAI API 密钥。最快的配置方法是使用 Langflow 的 Global Variables:
- 在 OpenAI API Key 字段中,点击 Globe 按钮,然后点击 Add New Variable。
- 输入变量名称,并将您的 OpenAI API 密钥粘贴到 Value 字段中。
- 在 Apply To Fields 字段中,选择 OpenAI API Key,以将此变量应用到所有 OpenAI Embeddings 组件。
2. 配置 Prompt 组件
在 Prompt 组件中,点击 Template 字段,并输入您的提示。例如:
作为一位生成式 AI 专家,热情地帮助用户构建全新的东西。
3. 启动聊天会话
点击 Playground,开始一个聊天会话。输入查询,并确保机器人根据您设置的提示进行响应。
为应用程序添加向量 RAG
您已经创建了一个聊天机器人,但让我们尝试一个实验:
- 向机器人提问:
2024 年谁获得了奥斯卡最佳影片奖?
- 机器人可能会回答:
抱歉,我无法获取 2023 年 10 月之后的事件或奖项信息,包括 2024 年的奥斯卡奖。
为了解决这一问题,您可以使用 检索增强生成(RAG),加载更及时的数据。
使用 Astra DB 组件添加向量 RAG
1. 断开现有连接
双击 Chat Input 和 OpenAI 组件之间的连接线,断开连接。
2. 添加 Astra DB 组件
点击 Vector Stores,选择 Astra DB 组件,并将其拖放到画布上。
3. 添加 File 组件
点击 Data,选择 File 组件,并将其拖放到画布上。此组件用于从本地加载文件。
4. 添加 Split Text 组件
点击 Processing,选择 Split Text 组件,并将其拖放到画布上。此组件用于将加载的文本拆分为更小的片段。
5. 添加 Parse Data 组件
点击 Processing,选择 Parse Data 组件,并将其拖放到画布上。此组件用于将数据转换为纯文本。
6. 添加 OpenAI Embeddings 组件
点击 Embeddings,选择 OpenAI Embeddings 组件,并将其拖放到画布上。此组件用于生成用户输入的嵌入,并将其与数据库中的向量数据进行比较。
7. 连接组件
将新组件连接到现有流程中,使流程如下所示:
8. 配置 Astra DB 组件
在 Astra DB 组件中:
-
在 Astra DB Application Token 字段中添加您的 Astra DB 应用程序令牌。
-
选择您的数据库。
-
选择您的集合(如果没有集合,请参考
DataStax Astra DB Serverless 文档
创建一个集合)。 -
选择 Embedding Model,并确保其维度与集合的维度匹配。
-
DataStax Astra DB Serverless 文档:https://docs.datastax.com/en/astra-db-serverless/databases/manage-collections.html#create-collection
运行带有检索上下文的聊天机器人
1. 修改 Prompt 组件
在 Prompt 组件中,添加 {user_question}
和 {context}
变量:
根据以下上下文:
{context}
回答以下问题:
{user_question}
2. 上传文件
在 File 组件中,上传一个包含您希望加载到 Astra DB 数据库中的数据的文本文件(例如,一个关于奥斯卡获奖者的最新 CSV 文件)。
3. 启动聊天会话
点击 Playground,开始一个聊天会话。
4. 测试机器人
向机器人提问:2024 年谁获得了奥斯卡最佳影片奖?
机器人应返回类似以下的回答:
2024 年奥斯卡最佳影片奖授予了《奥本海默》,由 Emma Thomas、Charles Roven 和 Christopher Nolan 制作。
安装 Langflow 的常见问题
以下是安装和运行 Langflow 时可能遇到的一些问题及其解决方案。
1. 没有 langflow.__main__
模块
运行 langflow run
时,可能会遇到以下错误:
No module named 'langflow.__main__'
解决方案:
- 使用
python -m langflow run
代替langflow run
。 - 如果无效,重新安装最新版本的 Langflow:
python -m pip install langflow -U
- 如果仍然无效,强制重新安装 Langflow 及其依赖项:
python -m pip install langflow --pre -U --force-reinstall
2. Langflow 运行时错误
运行 langflow run
时,可能会遇到以下错误:
langflow runTraceback (most recent call last):
File ".../langflow", line 5, in <module>
from langflow.__main__ import main
ModuleNotFoundError: No module named 'langflow.__main__'
可能原因及解决方案:
- 如果系统中已安装旧版本的 Langflow,可能运行了错误的可执行文件。尝试使用
python -m langflow run
。如果无效,卸载并重新安装 Langflow:
python -m pip install langflow --pre -U
- 如果安装过程中出现版本冲突,强制重新安装 Langflow 及其依赖项:
python -m pip install langflow --pre -U --force-reinstall
3. 迁移过程中出现问题
运行时可能会遇到以下错误:
Something went wrong running migrations. Please, run 'langflow migration --fix'
解决方案:
- 删除缓存文件夹中的内容以清除缓存,如果需要保留文件,请在清除文件夹前备份。缓存文件夹位置如下:
- Linux 或 WSL2 on Windows:
home/<username>/.cache/langflow/
- MacOS:
/Users/<username>/Library/Caches/langflow/
- Linux 或 WSL2 on Windows:
4. pip 依赖解析冻结
使用 pip install langflow
安装时,可能会遇到以下错误:
pip is looking at multiple versions of <<library>> to determine which version is compatible with other requirements. This could take a while.
解决方案:
- 使用 uv 安装 Langflow:
uv pip install langflow
- 运行 Langflow:
uv run langflow run
如何更新 Langflow
1. 升级 Langflow
使用 uv 升级 Langflow:
uv pip install langflow -U
使用 pip 升级 Langflow:
python -m pip install langflow -U
2. 安装特定版本
安装指定版本的 Langflow:
python -m pip install langflow==1.1
3. 重新安装 Langflow
重新安装 Langflow 及其依赖项:
python -m pip install langflow --force-reinstall
资源
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦