介绍
生成式人工智能目前在世界各地得到广泛应用。大型语言模型能够理解用户所提供的文本并在此基础上生成文本,这导致了从聊天机器人到文本分析器的众多应用。
但这些大型语言模型通常以非结构化方式按原样生成文本。有时我们希望 LLM 生成的输出采用结构格式,例如 JSON(JavaScript 对象表示法)格式。假设我们正在使用 LLM 分析社交媒体帖子,并且我们需要代码本身中 LLM 生成的输出作为 JSON/python 变量来执行其他任务。
通过提示工程实现这一目标是可能的,但需要花费大量时间来修改提示。为了解决这个问题,LangChain 引入了输出解析,它可以用于将 LLM 输出存储转换为结构化格式。
![f8be973c5b223c09535987040b96a9a1.jpeg](https://img-blog.csdnimg.cn/img_convert/f8be973c5b223c09535987040b96a9a1.jpeg)
学习目标
解释大型语言模型生成的输出
使用 Pydantic 创建自定义数据结构
了解提示模板的重要性并生成格式化 LLM 输出的提示模板
了解如何使用 LangChain 创建 LLM 输出的格式指令
了解如何将 JSON 数据解析为 Pydantic 对象
目录
介绍
什么是 LangChain 和输出解析?
入门 – 设置模型
创建 Pydantic 输出解析器和提示模板
测试大型语言模型
潜在应用和用例
结论
常见问题
什么是 LangChain 和输出解析?
LangChain 是一个 Python 库,可让你立即使用大型语言模型构建应用程序。它支持多种模型,包括 OpenAI GPT LLM、Google 的 PaLM,甚至 Hugging Face 中提供的开源模型,如 Falcon、Llama 等。
使用 LangChain 定制大型语言模型的提示变得轻而易举,而且它还附带了一个开箱即用的矢量存储,可以存储输入和输出的嵌入。因此,可以使用它来创建可以在几分钟内查询任何文档的应用程序。
LangChain使大型语言模型能够通过代理从互联网访问信息。它还提供输出解析器,使我们能够根据大型语言模型生成的输出来构建数据。
LangChain 带有不同的输出解析器,如列表解析器、日期时间解析器、枚举解析器等。
在本文中,我们将了解 JSON 解析器,它使我们能够将 LLM 生成的输出解析为 JSON 格式。下面我们可以观察如何将 LLM 输出解析为 Pydantic 对象的典型流程,从而在 Python 变量中创建可供使用的数据。
![fe70b99599e9cde17650e3fa14cdf04d.jpeg](https://img-blog.csdnimg.cn/img_convert/fe70b99599e9cde17650e3fa14cdf04d.jpeg)
入门 – 设置模型
在本节中,我们将使用 LangChain 建立模型。在本文中,我们将使用 PaLM 作为我们的大型语言模型。我们将在我们的环境中使用 Google Colab。你可以用任何其他大型语言模型替换 PaLM。我们将首先导入所需的模块。
这将下载 LangChain 库和 google-generativeai 库以使用 PaLM 模型。
需要 langchain 库来创建自定义提示并解析大型语言模型生成的输出
google-generativeai 库将让我们与 Google 的 PaLM 模型进行交互。
PalLM API 密钥
要使用 PaLM,我们需要一个 API 密钥,可以通过注册 MakerSuite 网站来获取该密钥。接下来,我们将导入所有必需的库并传