介绍
大型语言模型席卷全球。随着ChatGPT、GPT3、Bard和其他大型语言模型的出现,开发人员不断使用这些模型来创建新的产品解决方案。每一天都会有一个新的大型语言模型或现有LLM的新版本。跟上这些新版本或新模型可能会有问题,因为人们必须阅读每个大型语言模型的文档。LangChain是一个包装所有不同LLM的库,使事情变得更容易。此外,基于LangChain的UI——LangFlow也被引入,可以直接与之交互和创建应用程序,使事情变得更好。
学习目标
- 了解LangFlow UI
- 安装和使用LangFlow
- 了解LangFlow的内部工作原理
- 使用LangFlow创建应用程序
- 通过LangFlow共享创建的应用程序
本文是Data Science Blogathon的一部分。
什么是LangFlow和为什么使用LangFlow?
LangFlow是一个基于Python包LangChain和react-flow设计的图形用户界面(UI)。LangChain是一个用于创建大型语言模型应用程序的Python包。它由不同的组件组成,如代理、LLMs、链、内存和提示。开发人员将这些模块链在一起以创建应用程序。LangChain包含几乎所有流行的大型语言模型的包装器。现在,要使用LangChain,必须编写代码来创建应用程序。编写代码有时可能耗时甚至容易出错。
这就是LangFlow的作用。它是基于LangChain的图形用户界面(UI)。它包含LangChain中的所有组件。LangFlow提供了拖放功能,您可以将组件拖放到屏幕上并开始从大型语言模型构建应用程序。它甚至包含了丰富的示例供每个人开始使用。在本文中,我们将介绍这个UI,并看看如何使用它构建应用程序。
让我们从LangFlow开始
现在,我们已经了解了LangFlow是什么,以及它的作用,让我们深入了解其功能,以更好地理解其功能。LangFlow UI适用于JavaScript和Python。您可以选择其中一种并开始使用。对于Python版本,需要在系统中安装Python和LangChain库。
如果您想使用LangFlow,您需要安装以下软件包
pip install langchain
pip install langflow
上述命令将安装Langflow软件包和LangChain软件包。现在,要启动UI,请使用以下命令
python -m langflow
或
langflow
现在LangFlow UI已经启动运行。它正在本地主机上运行,端口号为7860。这样您就可以安装并开始使用LangFlow。
LangFlow的制造商LogSpace AI直接在HuggingFace网站上部署了LangFlow。您可以点击此处访问HuggingFace网站或搜索Google。它看起来会像下面的图片,然后点击New Project。
当您点击Create New Project时,LangFlow UI将出现。
这里的白色空间是我们将通过拖放组件来创建应用程序的地方。组件位于左侧(代理、链、加载器等)。因此,当您点击Comps时,会显示不同类型的组件,您将从中选择一个并将其拖放到白色空间中。然后,在白色空间中,您将组合不同的组件来构建整个应用程序。
理解LangFlow UI
在本节中,我们将简要了解LangFlow的用户界面(UI),其中的元素以及UI的工作原理,以更好地理解如何使用LangFlow快速构建大型语言应用程序。
在上面的图片中,我们可以看到LangFlow UI的右上方部分。图标的含义是可以理解的。第二个图标代表导出选项。所以当我们通过LangFlow构建一个应用程序,并且现在想要下载到本地机器上时,我们可以将应用程序配置转换为JSON文件。点击导出选项将允许您下载包含应用程序信息的JSON文件。现在,如果您的朋友想要构建相同的应用程序,他只需点击第一个选项,即导入,然后将您的JSON文件传递给它。
第三个选项将您的应用程序转换为Python代码,您可以直接在本地系统中使用它,而不必每次想使用该应用程序时都去LangFlow网站。
LangChain有许多大型语言模型的封装器。每个大型语言模型都有其自己的API可供使用。因此,当我们尝试在LangFlow中使用LLM时,它提供了让我们添加API密钥的选项,如上图所示。除此之外,我们甚至还可以选择要使用的大型语言模型的类型。
使用LangFlow构建一个简单的聊天应用程序
在本节中,我们将使用LangFlow UI创建一个简单的聊天机器人应用程序。这个应用程序涉及与OpenAI大型语言模型一起工作,因此需要一个Open API密钥才能使用此应用程序。我们将创建的应用程序是一个聊天机器人,它以幽默的方式回答用户的问题。
因此,我们将创建的应用程序将有3个元素,即大型语言模型、提示模板和连接它们的LLM链。首先,让我们将LangChain的OpenAI封装器拖到UI中的虚线部分。
OpenAI大型语言模型封装器
在LangFlow的LLM部分中可以找到Open AI大型语言模型封装器。我们可以将其拖到白色部分。在这里,我们现在选择要使用的模型类型。目前,我将其设置为Davinci模式。模型的温度,即模型应该有多富有创意,设置为0.7,最大令牌数为256。在Open API密钥字段中,我们需要提供Open API密钥,下面的字段可以留空。
从图片中我们可以看到,我们已经将提示模板拖到了白色部分。在这里,我们正在开发一个简单的机器人,以幽默的方式回复,所以我们必须相应地编写提示模板。
提示模板
您是一个AI机器人,以幽默的方式回答人类的每个问题。
人类: {query}
AI:
现在来到最后一个元素,即链元素。LLM链是将我们的OpenAI大型语言模型和提示模板连接在一起的一个元素。我们可以在UI左侧的链部分找到LLMChain。最后,是时候将所有事物连接在一起了。
如上图所示,将Prompt模板连接到LLMChain的Prompt,将OpenAI端连接到LLMChain的LLM端。
现在是测试我们的应用程序的时候了。要使应用程序运行,点击UI右下角的“闪电”图标。如果OpenAI密钥有效,则在每个元素的顶部,靠近元素名称的位置会显示一个绿点(最初是黄色的),然后您将看到“闪电”图标下方的蓝色聊天图标。点击蓝色聊天图标。
点击后,将打开一个聊天窗口供您进行聊天。现在您可以与我们在UI中提供的大型语言模型进行聊天。让我们尝试向机器人问“你好吗?”,这时机器人需要以有趣的方式回答。
我们可以看到,机器人确实根据我们的Prompt模板有趣地回答了。通过将其导出为JSON文件,可以与任何人分享。这只是LangFlow和LangChain能够实现的示例用例之一。
结论
LangFlow UI建立在Python的LangChain框架之上,这是一个与大型语言模型创建应用程序广泛合作的包。我们已经看到了UI中的组件,并且看到了如何使用UI构建模型并通过将其导出为JSON文件与他人分享。使用此UI,创建高端应用程序的可能性是无限的。
要点
- LangFlow提供了一种简单的拖放功能,用于构建具有LLM的应用程序
- LangFlow UI在Python和JavaScript中都可用
- 此UI允许用户将其应用程序转换为JSON文件,从而使它们易于分享
- LangFlow甚至带有一个Python包,用户可以通过提供JSON文件的路径来安装和运行在LangFlow中构建的应用程序
- LangFlow使非开发人员更容易构建具有大型语言模型的应用程序
常见问题
本文中显示的媒体不归Analytics Vidhya所有,仅由作者决定使用。