【LLM】Langflow 的简单使用

(PS:爆肝整理,请不要吝啬你的点赞和收藏。)

什么是 Langflow ?Langflow 是一种用于构建多智能体和RAG应用的可视化框架。它提供了个无需编码的 AI 生态系统,能够无缝集成各种常用工具和技术栈。Langflow 以 Python 为基础,非常灵活,支持多种大型语言模型(LLM)和向量存储。

Langflow 凭借其用户友好的界面和强大的功能,使开发人员能够快速构建原型和构建 AI 应用程序。无论您是经验丰富的 AI 开发人员还是新手,Langflow 都能提供将 AI 创意变为现实所需的工具。

通过这篇文章,你将学会如何快速安装和启动 Langflow,并尽量少的避免安装和启动的坑。这篇文章会通过两个例子(智能聊天机器人和构建文档问答系统)带你初步上手 Langflow。

前提条件

  • Python 版本为 3.10-3.12
  • 已安装 uv,pip或pipx
  • 已申请 HuggingFace 或 OpenAI 或 Google Generative AI 或 百度千帆的ApiKey。

我使用的是 Google Generative AI。

参考:我的系统为Win11、Python 版本为 3.11、pip 版本为 24.3.1、uv 版本为 0.5.11。

如果你不想本地安装,可以直接体验 HuggingFace的Langflow

安装

官方提供了三种本地安装方式,uv、pip 和 pipx(建议使用 uv,其它两种方式安装特别慢,最后还会失败,使用 uv 安装用时在几分钟内)。

创建虚拟环境

创建一个虚拟环境以隔离 LangFlow 的依赖:

bash 复制代码
# 创建虚拟环境
python -m venv langflow_env
# 进入虚拟环境
langflow_env\Scripts\activate
# 拓展(不要执行):离开虚拟环境
deactivate

注:以下操作将在虚拟环境中进行

uv 安装

使用清华镜像源,这样安装比较快。

bash 复制代码
# 安装uv,uv 是一个用于创建和管理 Python 虚拟环境的工具,可以通过 pip 安装
pip install uv
# 使用清华镜像源
uv pip install langflow -i https://pypi.tuna.tsinghua.edu.cn/simple

pip 安装

此安装方式会比较慢,如果一定要使用该安装方式并且一直安装不成功,可参考这里

bash 复制代码
python -m pip install langflow

启动

uv 方式

bash 复制代码
uv run langflow run

pip 方式

bash 复制代码
python -m langflow run

出现下图表示启动成功,如果失败可参考文章最后的'问题与解决'。

浏览器访问 http://127.0.0.1:7860 你将进入 Langflow 工作流配置界面。

简单上手

创建工作流

进入默认项目-创建流(New Flow)

在弹出的页面中可以根据自己需求选择模板进行编辑

下图为部分模板截图(已翻译)。

配置界面:左边为组件区,包含输入(Inputs)、输出(Outputs)、提示词(Prompts)、使用的模型(Model)、词嵌入(Embedding)、向量数据库(Vector Stores)等等,右边为工作台区域,拖动相应组件到工作台即可开始你的工作流配置。

使用 Langflow 商店中的模板

入口:首页 - store

进入 Langflow store 界面,需要先配置 Langflow Api-key(地址: 申请Langflow Api-key)。

点击'+'号选择自己想要的模板,下载的模板将在'项目配置界面'展示。

案例

1、智能聊天机器人

需要的组件

a. Helpers 中的 Message History:存储和检索最多100条以前的消息;维护对话上下文;跟踪单独的聊天会话;保留发件人信息和消息顺序。

b. Inputs 中的 Chat Input,输入组件。

c. Prompts 中的 Prompt,创建动态提示模板;将内存集成到对话流中。

复制代码
You are a helpful assistant that answer questions.

Use markdown to format your answer, properly embedding images and urls.

History: 

{memory}

e. Models 中的 Google Generative AI,使用谷歌的语言模型,根据文档上下文生成对查询响应。

d. Outputs 中的 Chat Output,输出组件。

测试

聊天界面:点击工作台右上方的 'Playground' 按钮

2、构建文档问答系统

需要的组件

a. Data 中的 File,以支持的格式加载和处理文档。

b. Process 中的 Parse Data,使用指定的模板将加载的文档转换为文本,以实现一致的处理。

c. Inputs 中的 Chat Input,输入组件。

d. Prompts 中的 Prompt,通过将解析的文档内容与用户问题相结合来形成结构化查询,下面是内容。

复制代码
Answer user's questions based on the document below:

---

{Document}

---

Question:

e. Models 中的 Google Generative AI,使用谷歌的语言模型,根据文档上下文生成对查询响应。

d. Outputs 中的 Chat Output,输出组件。

测试

我上传的文件是'中华人民共和国民法典.pdf'。

问题与解决

1、第二次启动 Langflow 出现的问题

第二次启动 Langflow 出现如下问题:

原因:secret_key 文件权限不足。

解决方案:找到该文件并赋予当前用户该文件的所有权限。

2、使用 Google Generative AI 存在网络问题(待解决)

目前发现调用谷歌API,如果使用rpc、grpc方式调用会存在网络问题,使用rest风格方式没有问题,可以尝试使用api代理,或者改动 Langflow 调用谷歌API的代码。

参考文档

Langflow文档Langflow github

部分平台ApiKey申请地址

a. openAI:openai.com

b. 谷歌Gemini:google.com

c. HuggingFace:huggingface.co

相关推荐
倔强青铜三2 分钟前
为什么 self 与 super() 成了 Python 的永恒痛点?
人工智能·python·面试
墨尘游子5 分钟前
目标导向的强化学习:问题定义与 HER 算法详解—强化学习(19)
人工智能·python·算法
go54631584651 小时前
中文语音识别与偏误检测系统开发
开发语言·人工智能·学习·生成对抗网络·数学建模·语音识别
GG向前冲1 小时前
机器学习对中特估股票关键特征选取的应用与研究
人工智能·机器学习·投资组合
小白学大数据1 小时前
基于Python的新闻爬虫:实时追踪行业动态
开发语言·爬虫·python
freed_Day1 小时前
python面向对象编程详解
开发语言·python
弥金1 小时前
LangChain基础
人工智能·后端
普郎特2 小时前
张三:从泥水匠到包工头的故事 *—— 深入浅出讲解 `run_in_executor()` 的工作原理*
python
不摸鱼2 小时前
创业找不到方向?不妨从行业卧底开始 | 不摸鱼的独立开发者日报(第66期)
人工智能·开源·资讯
ReinaXue2 小时前
大模型【进阶】(五):低秩适配矩阵LORA的深度认识
人工智能·深度学习·神经网络·语言模型·自然语言处理·transformer