程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Langflow——高效构建和部署 AI 驱动的代理和工作流

hfteth 2025-05-21 13:51:47 技术文章 2 ℃

这里是Aideas,每日分享AI相关资讯。本文由Aideas Agent整理并推荐。项目地址:/langflow-ai/langflow, 程序语言:Python, 收藏: 52,501, 分支: 5,761, 今日收藏: 208 stars today。

Langflow 是一个强大的工具,用于构建和部署 AI 驱动的代理和工作流。它为开发者提供了可视化的创作体验和一个内置的 API 服务器,使每个代理都成为可以集成到任何框架或技术栈构建的应用程序中的 API 端点。Langflow 具有开箱即用的功能,支持所有主要的 LLM、向量数据库以及不断增长的 AI 工具库。

亮点功能

  • 可视化构建器:快速入门并迭代。
  • 访问代码:开发者可以使用 Python 调整任何组件。
  • 游乐场:可以立即测试和迭代其工作流,具有逐步控制。
  • 多代理:协调和对话管理及检索。
  • 作为 API 部署:或导出为 JSON 供 Python 应用使用。
  • 可观察性:与 LangSmith、LangFuse 和其他集成。
  • 企业级:安全性和可扩展性。

安装 Langflow

可以在本地部署 Langflow,也可以使用 Datastax Langflow 作为托管服务进行部署。

在本地安装 Langflow

使用 uv (推荐)、pip 或 pipx 在本地安装 Langflow。

先决条件

  • 已安装 Python 3.10 到 3.13
  • 已安装 UV、PIP 或 PIPx
  • 在安装 Langflow 之前,建议创建一个虚拟环境,以使用 uv、venv 或 conda 隔离您的 Python 依赖项

使用 pip 或 pipx安装 Langflow

使用 uv 安装 Langflow:

uv pip install langflow

使用 pip 安装 Langflow:

python -m pip install langflow

使用 Python 3.10 可执行文件通过 pipx 安装 Langflow:

pipx install langflow --python python3.10

运行 Langflow

  1. 要使用 uv 运行 Langflow,请输入以下命令。
uv run langflow run
  1. 要使用 pip 运行 Langflow,请输入以下命令。
python -m langflow run
  1. 确认本地 Langflow 实例首先在基于 Chromium 的浏览器中进行访问。
http://127.0.0.1:7860

打开 Langflow 并启动一个新项目

  1. 在 Langflow 控制面板中,单击 New Flow(新建流),然后选择 Blank Flow(空白流)。此时将打开一个空白工作区,您可以在其中构建流。
  2. 选择 Basic Prompting
  3. Basic Prompting 流已创建。

构建基本的提示流

Basic Prompting 流完成后将如下所示:

要构建基本提示流程,请执行以下步骤:

  1. 单击 输入,选择 聊天输入 组件,然后将其拖动到画布上。 Chat Input (聊天输入) 组件接受用户对聊天的输入。
  2. 单击 Prompt,选择 Prompt 组件,然后将其拖到画布上。 Prompt 组件将用户输入与用户定义的提示相结合。
  3. 单击 输出,选择 聊天输出 组件,然后将其拖动到画布上。 聊天输出组件将流的输出打印到聊天中。
  4. 单击 Models,选择 OpenAI 组件,然后将其拖到画布上。 OpenAI 模型组件将用户输入和提示发送到 OpenAI API 并接收响应。

现在应该有一个如下所示的流:

如果它们之间没有连接,则组件不会相互交互。 数据通过组件之间的连接从 Chat Input 流向 Chat Output。 每个组件在其左侧接受 Input,并在其右侧发送 output。 将鼠标悬停在连接端口上可查看组件接受的数据类型。 有关组件输入和输出的更多信息,请参阅组件概述。

  1. 要将 Chat Input (聊天输入) 组件连接到 OpenAI 模型组件,请单击一条线并将其从蓝色 Message (消息) 端口拖动到 OpenAI 模型组件的 Input (输入) 端口。
  2. 要将 Prompt(提示)组件连接到 OpenAI 模型组件,请单击一条线并将其从蓝色的 Prompt Message(提示消息)端口拖动到 OpenAI 模型组件的 System Message(系统消息)端口。
  3. 要将 OpenAI 模型组件连接到聊天输出,请单击一条线并将其从蓝色文本端口拖动到聊天输出组件的文本端口。

完成的基本提示流应如下所示:

运行基本提示流

将的 OpenAI API 密钥添加到 OpenAI 模型组件,并向 Prompt 组件添加提示以指示模型如何响应。

  1. 将的凭证添加到 OpenAI 组件。完成这些字段的最快方法是使用 Langflow 的 Global Variables。
    1. 在 OpenAI 组件的 OpenAI API Key 字段中,单击 Globe 按钮,然后单击 Add New Variable。 或者,单击右上角的用户名,然后单击 Settings (设置)、Global Variables(全局变量),然后单击 Add New(新增)。
    2. 为变量命名。将的 OpenAI API 密钥 (sk-...) 粘贴到 Value (值) 字段中。
    3. Apply To Fields 字段中,选择 OpenAI API Key 字段以将此变量应用于所有 OpenAI 嵌入组件。
  2. 要向 Prompt 组件添加提示,请单击 Template 字段,然后输入提示。 该提示将引导机器人对输入的响应。
  3. 单击 Playground 以启动聊天会话。
  4. 输入查询,然后确保机器人根据您在 Prompt (提示) 组件中设置的提示做出响应。

使用 Astra DB 组件添加矢量 RAG

在基本提示流程的基础上,使用 Astra DB Vector Store 组件将矢量 RAG 添加到的聊天机器人应用程序中。将文档摄取添加到基本提示流程中,并将 Astra DB 组件作为矢量存储。完成后,将矢量 RAG 添加到基本提示流中将如下所示:

要构建流程,请执行以下步骤:

  1. 双击连接线,断开 Chat Input 组件与 OpenAI 组件的连接。
  2. 单击 Vector Stores,选择 Astra DB 组件,然后将其拖动到画布上。 Astra DB 矢量存储组件连接到 Astra DB 数据库。
  3. 单击 Data (数据),选择 File (文件) 组件,然后将其拖到画布上。 File (文件) 组件从本地计算机加载文件。
  4. 单击 处理,选择 拆分文本 组件,然后将其拖动到画布上。 拆分文本组件将加载的文本拆分为较小的块。
  5. 单击 Processing,选择 Parse Data 组件,然后将其拖到画布上。 数据到消息组件会将 Astra DB 组件中的数据转换为纯文本。
  6. 单击 Embeddings(嵌入),选择 OpenAI Embeddings(OpenAI 嵌入)组件,然后将其拖到画布上。 OpenAI Embeddings 组件为用户的输入生成嵌入,这些嵌入与数据库中的向量数据进行比较。
  7. 将新组件连接到现有流程中,因此流程如下所示:
  1. 配置 Astra DB 组件。
    1. Astra DB 应用程序令牌字段中,添加 Astra DB 应用程序令牌。 该组件将连接到数据库,并使用现有数据库和集合填充菜单。
    2. 选择数据库。 如果没有集合,选择 New database (新建数据库)。 填写 NameCloud providerRegion 字段,然后单击 Create数据库创建需要几分钟时间
    3. 选择收藏。在 Astra DB 部署中创建集合以存储矢量数据。
  2. 如果通过 Astra 的矢量化服务选择嵌入了 NVIDIA 的集合,则会删除 Embedding Model 端口,因为已经使用 NVIDIA 模型为此集合生成了嵌入。该组件从集合中获取数据,并对查询使用相同的嵌入。
  3. 如果没有集合,需要在组件中创建一个新集合。
    1. 选择 New collection (新建集合)。
    2. 填写 NameEmbedding generation methodEmbedding modelDimensions 字段,然后单击 Create
    3. 您对 Embedding 生成方法Embedding 模型的选择取决于要使用提供商通过 Astra 的矢量化服务生成的嵌入,还是由 Langflow 中的组件生成的嵌入。
    4. 要使用提供商通过 Astra 的矢量化服务生成的嵌入,从 Embedding generation method 下拉菜单中选择模型,然后从 Embedding model 下拉菜单中选择模型。
    5. 要使用 Langflow 中组件生成的嵌入,为 Embedding generation methodEmbedding model 字段选择 Bring your own
    6. Dimensions 值必须与集合的维度匹配。

使用检索到的上下文运行聊天机器人

  1. 修改 Prompt 组件以包含变量。 该变量为机器人提供了额外的上下文,用于回答 LLM 训练之外的内容。{user_question}{context}{context}{user_question}
Given the context
{context}
Answer the question
{user_question}
  1. File 组件中,从本地计算机上传一个文本文件,其中包含要提取到 Astra DB 数据库的数据。
  2. 单击 Playground 以启动聊天会话。
  3. 询问机器人:Who won the Oscar in 2024 for best movie?
  4. 响应:
The Oscar for Best Picture in 2024 was awarded to "Oppenheimer,"
produced by Emma Thomas, Charles Roven, and Christopher Nolan.

通过上述步骤,可以使用 Astra DB 组件将 RAG 添加到聊天机器人应用程序中。

#AI软件技巧#

Tags:

最近发表
标签列表