Langchain和大型语言模型是什么?

Langchain和大型语言模型是什么?' can be condensed to 'Langchain和大型语言模型是什么?

如果您是开发人员或对技术充满热情的人,您可能已经接触过像ChatGPT这样的AI工具。这些工具由先进的大型语言模型(LLMs)驱动。如果您有兴趣通过构建自己的基于LLM的应用程序来提升水平,那么LangChain就是适合您的平台。

让我们把一切放在一边,先了解LLMs。然后,我们可以通过一个简单的教程来介绍LangChain。听起来足够有趣吗?让我们开始吧。

什么是大型语言模型(LLMs)?

OpenAI的GPT-3和GPT-4等大型语言模型(LLMs)是机器学习算法,旨在根据它们所接受的训练数据理解和生成类似人类的文本。这些模型使用具有数百万甚至数十亿个参数的神经网络构建,使它们能够执行翻译、摘要、问答甚至创意写作等复杂任务。

LLMs经过多种广泛的数据集训练,通常包括互联网、图书和其他文本的部分内容,它们分析单词和短语之间的模式和关系,生成连贯且与上下文相关的输出。尽管它们可以执行各种语言任务,但它们并不具备意识、理解或情感,尽管它们能够在生成的文本中模仿这些特性。

来源:NVIDIA

大型语言模型主要属于一类称为Transformer网络的深度学习结构。Transformer模型是一种神经网络类型,通过识别序列中元素之间的连接(例如给定句子中的单词),获得对上下文和重要性的理解。

什么是LangChain?

由Harrison Chase开发,并于2022年10月首次亮相,LangChain是一个开源平台,旨在构建由大型语言模型驱动的强大应用程序,如ChatGPT等聊天机器人和各种定制应用。

LangChain旨在为数据工程师提供全面的工具包,以便在各种用例中利用LLMs,如聊天机器人、自动问答、文本摘要等等。

LangChain由以下6个模块组成:

图片来源:ByteByteGo

  • 大型语言模型:LangChain作为一个标准接口,可以与各种大型语言模型(LLMs)进行交互。

  • 提示构建:LangChain提供了各种用于简化创建和处理提示的类和函数。

  • 对话记忆:LangChain集成了记忆模块,可以管理和修改以前的聊天对话,这对于需要回顾以前互动的聊天机器人来说是一个关键功能。

  • 智能代理:LangChain为代理提供了全面的工具包。这些代理可以根据用户输入选择要使用的工具。

  • 索引:LangChain中的索引是一种以便于与LLMs有效交互的方式组织文档的方法。

  • :对于较简单的任务,使用单个LLM可能足够了,但LangChain提供了一个标准接口和一些常用的实现方法,可以将LLMs串接在一起,用于更复杂的应用程序,无论是相互之间还是与其他专门的模块一起。

LangChain如何工作?

LangChain由大量数据组成,并将这些数据分解成较小的块,可以轻松地嵌入到向量存储中。现在,借助LLMs的帮助,我们可以检索所需的信息。

当用户插入提示时,LangChain将查询向量存储以获取相关信息。当找到精确或几乎匹配的信息时,我们将该信息提供给LLM以完成或生成用户正在寻找的答案。

开始使用LangChain

让我们将SingleStore的Notebooks功能(免费使用)作为本教程的开发环境。

SingleStore Notebook扩展了Jupyter Notebook的功能,使数据专业人员可以轻松地工作和玩耍。

什么是Single Store?

SingleStore是一个分布式、内存中的SQL数据库管理系统,专为高性能、高速应用程序设计。它提供实时分析,并将传统操作数据库的功能与分析数据库的功能相结合,允许在一个系统中执行事务和分析。

注册SingleStore以使用Notebooks。

一旦您注册了SingleStore,您还将获得价值600美元的免费计算资源。为什么不利用这个机会呢?

点击“Notebooks”并从一个空白Notebook开始。

给它起一个像“LangChain-Tutorial”这样的名字或者您希望的其他名字。

让我们开始使用我们刚创建的Notebook。按照这个逐步指南进行操作,在您的Notebook中添加每个步骤中显示的代码并执行它。开始吧!

现在,为了使用Langchain,让我们首先使用pip命令进行安装。

要使用LangChain,您需要与一个或多个模型提供者(如OpenAI或Hugging Face)进行集成。在本例中,让我们利用OpenAI的API,所以让我们进行安装。

接下来,我们需要为playground设置环境变量。让我们这样做。

希望您知道如何获取您的API密钥,如果不知道,请转到此链接获取您的OpenAI API密钥。

[注意:确保您仍然有配额来使用您的API密钥]

接下来,让我们获取一个像OpenAI这样的LLM并使用此模型进行预测。

让我们问我们的模型世界上人口最多的5个城市是哪些。

正如您所见,我们的模型进行了预测并打印了世界上人口最多的5个城市。

提示模板

让我们首先定义提示模板。

我们创建了我们的提示。要进行预测,现在让我们调用format方法并传递一个输入。

创建链

到目前为止,我们已经看到了如何初始化一个LLM模型,以及如何使用这个模型进行预测。现在,让我们迈出一步,使用LLMChain类将这些步骤链接起来。

您可以看到模型的预测。

使用LangChain LLM开发应用程序

再次使用SingleStore的Notebooks作为开发环境。

让我们开发一个非常简单的聊天应用程序。

从一个空白Notebook开始,并根据您的意愿命名它。

  • 首先,安装依赖项。
  • 接下来,导入已安装的依赖项。
  • 获取您的OpenAI API密钥并安全保存。

  • 添加和自定义LLM模板

  • 使用您安全保存的API密钥加载ChatGPT链。将人类输入添加为“What is SingleStore?”。您可以根据需要更改输入。

该脚本使用OpenAI API密钥和预设的提示初始化LLM链。然后接受用户输入并显示结果输出。

预期的输出如下所示,

通过更改人类输入文本/内容来进行实验。

完整的代码执行步骤可在GitHub上获得。

LangChain成为数据工程师和开发人员构建由大型语言模型驱动的尖端应用程序不可或缺的框架。与传统工具和平台不同,LangChain提供了一个更强大和多功能的框架,专为复杂的AI应用程序量身定制。LangChain不仅仅是开发人员工具中的另一个工具;它是一个重新定义了AI应用程序领域的可能性的变革性框架。

在GenAI应用程序和LLM领域,强烈建议了解向量数据库。我最近写了一篇有关向量数据库的完整概述,您可能希望阅读该文章。

向量数据库:初学者指南!