网站首页 > 技术文章 正文
这里是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
- 要使用 uv 运行 Langflow,请输入以下命令。
uv run langflow run
- 要使用 pip 运行 Langflow,请输入以下命令。
python -m langflow run
- 确认本地 Langflow 实例首先在基于 Chromium 的浏览器中进行访问。
http://127.0.0.1:7860
打开 Langflow 并启动一个新项目
- 在 Langflow 控制面板中,单击 New Flow(新建流),然后选择 Blank Flow(空白流)。此时将打开一个空白工作区,您可以在其中构建流。
- 选择 Basic Prompting。
- 的 Basic Prompting 流已创建。
构建基本的提示流
Basic Prompting 流完成后将如下所示:
要构建基本提示流程,请执行以下步骤:
- 单击 输入,选择 聊天输入 组件,然后将其拖动到画布上。 Chat Input (聊天输入) 组件接受用户对聊天的输入。
- 单击 Prompt,选择 Prompt 组件,然后将其拖到画布上。 Prompt 组件将用户输入与用户定义的提示相结合。
- 单击 输出,选择 聊天输出 组件,然后将其拖动到画布上。 聊天输出组件将流的输出打印到聊天中。
- 单击 Models,选择 OpenAI 组件,然后将其拖到画布上。 OpenAI 模型组件将用户输入和提示发送到 OpenAI API 并接收响应。
现在应该有一个如下所示的流:
如果它们之间没有连接,则组件不会相互交互。 数据通过组件之间的连接从 Chat Input 流向 Chat Output。 每个组件在其左侧接受 Input,并在其右侧发送 output。 将鼠标悬停在连接端口上可查看组件接受的数据类型。 有关组件输入和输出的更多信息,请参阅组件概述。
- 要将 Chat Input (聊天输入) 组件连接到 OpenAI 模型组件,请单击一条线并将其从蓝色 Message (消息) 端口拖动到 OpenAI 模型组件的 Input (输入) 端口。
- 要将 Prompt(提示)组件连接到 OpenAI 模型组件,请单击一条线并将其从蓝色的 Prompt Message(提示消息)端口拖动到 OpenAI 模型组件的 System Message(系统消息)端口。
- 要将 OpenAI 模型组件连接到聊天输出,请单击一条线并将其从蓝色文本端口拖动到聊天输出组件的文本端口。
完成的基本提示流应如下所示:
运行基本提示流
将的 OpenAI API 密钥添加到 OpenAI 模型组件,并向 Prompt 组件添加提示以指示模型如何响应。
- 将的凭证添加到 OpenAI 组件。完成这些字段的最快方法是使用 Langflow 的 Global Variables。
- 在 OpenAI 组件的 OpenAI API Key 字段中,单击 Globe 按钮,然后单击 Add New Variable。 或者,单击右上角的用户名,然后单击 Settings (设置)、Global Variables(全局变量),然后单击 Add New(新增)。
- 为变量命名。将的 OpenAI API 密钥 (sk-...) 粘贴到 Value (值) 字段中。
- 在 Apply To Fields 字段中,选择 OpenAI API Key 字段以将此变量应用于所有 OpenAI 嵌入组件。
- 要向 Prompt 组件添加提示,请单击 Template 字段,然后输入提示。 该提示将引导机器人对输入的响应。
- 单击 Playground 以启动聊天会话。
- 输入查询,然后确保机器人根据您在 Prompt (提示) 组件中设置的提示做出响应。
使用 Astra DB 组件添加矢量 RAG
在基本提示流程的基础上,使用 Astra DB Vector Store 组件将矢量 RAG 添加到的聊天机器人应用程序中。将文档摄取添加到基本提示流程中,并将 Astra DB 组件作为矢量存储。完成后,将矢量 RAG 添加到基本提示流中将如下所示:
要构建流程,请执行以下步骤:
- 双击连接线,断开 Chat Input 组件与 OpenAI 组件的连接。
- 单击 Vector Stores,选择 Astra DB 组件,然后将其拖动到画布上。 Astra DB 矢量存储组件连接到 Astra DB 数据库。
- 单击 Data (数据),选择 File (文件) 组件,然后将其拖到画布上。 File (文件) 组件从本地计算机加载文件。
- 单击 处理,选择 拆分文本 组件,然后将其拖动到画布上。 拆分文本组件将加载的文本拆分为较小的块。
- 单击 Processing,选择 Parse Data 组件,然后将其拖到画布上。 数据到消息组件会将 Astra DB 组件中的数据转换为纯文本。
- 单击 Embeddings(嵌入),选择 OpenAI Embeddings(OpenAI 嵌入)组件,然后将其拖到画布上。 OpenAI Embeddings 组件为用户的输入生成嵌入,这些嵌入与数据库中的向量数据进行比较。
- 将新组件连接到现有流程中,因此流程如下所示:
- 配置 Astra DB 组件。
- 在 Astra DB 应用程序令牌字段中,添加 Astra DB 应用程序令牌。 该组件将连接到数据库,并使用现有数据库和集合填充菜单。
- 选择数据库。 如果没有集合,选择 New database (新建数据库)。 填写 Name、Cloud provider 和 Region 字段,然后单击 Create。数据库创建需要几分钟时间。
- 选择收藏。在 Astra DB 部署中创建集合以存储矢量数据。
- 如果通过 Astra 的矢量化服务选择嵌入了 NVIDIA 的集合,则会删除 Embedding Model 端口,因为已经使用 NVIDIA 模型为此集合生成了嵌入。该组件从集合中获取数据,并对查询使用相同的嵌入。
- 如果没有集合,需要在组件中创建一个新集合。
- 选择 New collection (新建集合)。
- 填写 Name、Embedding generation method、Embedding model 和 Dimensions 字段,然后单击 Create。
- 您对 Embedding 生成方法和 Embedding 模型的选择取决于要使用提供商通过 Astra 的矢量化服务生成的嵌入,还是由 Langflow 中的组件生成的嵌入。
- 要使用提供商通过 Astra 的矢量化服务生成的嵌入,从 Embedding generation method 下拉菜单中选择模型,然后从 Embedding model 下拉菜单中选择模型。
- 要使用 Langflow 中组件生成的嵌入,为 Embedding generation method 和 Embedding model 字段选择 Bring your own。
- Dimensions 值必须与集合的维度匹配。
使用检索到的上下文运行聊天机器人
- 修改 Prompt 组件以包含变量。 该变量为机器人提供了额外的上下文,用于回答 LLM 训练之外的内容。{user_question}{context}{context}{user_question}
Given the context
{context}
Answer the question
{user_question}
- 在 File 组件中,从本地计算机上传一个文本文件,其中包含要提取到 Astra DB 数据库的数据。
- 单击 Playground 以启动聊天会话。
- 询问机器人:Who won the Oscar in 2024 for best movie?
- 响应:
The Oscar for Best Picture in 2024 was awarded to "Oppenheimer,"
produced by Emma Thomas, Charles Roven, and Christopher Nolan.
通过上述步骤,可以使用 Astra DB 组件将 RAG 添加到聊天机器人应用程序中。
猜你喜欢
- 2025-05-21 如何编写Python漏洞验证脚本(单线程和多线程)
- 2025-05-21 Python 爬虫使用固定代理IP
- 2025-05-21 25-3-Python网络编程-UDP 编程示例和HTTP协议
- 2025-05-21 栋察宇宙:Python 中的 requests 库学习介绍
- 2025-05-21 手把手教你用Python盯死竞品组织变动!老板连夜加薪的监控术
- 2025-05-21 Google 在 Cloud Next 2025 发布最全面的 AI 代理战略
- 2025-05-21 免费的IP代理池
- 2025-05-21 「2022 年」崔庆才 Python3 爬虫教程 - 代理的基本原理
- 2025-05-21 使用Python构建高效的HTTP代理服务器
- 2025-05-21 Python requests库使用指南
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 91℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)