使用 LangChain 构建依托 LLM 的应用

本页面介绍了如何使用 LangChain构建依托 LLM 的应用。本页上的概览链接到 GitHub 中的过程指南。

什么是 LangChain?

LangChain 是一个 LLM 编排框架,可帮助开发者构建生成式 AI 应用或检索增强生成 (RAG) 工作流。它提供了可简化复杂 LLM 工作流的结构、工具和组件。

如需详细了解 LangChain,请参阅 Google LangChain 页面。如需详细了解 LangChain 框架,请参阅 LangChain 产品文档。

适用于 Bigtable 的 LangChain 组件

Bigtable 提供以下 LangChain 接口:

如需了解如何使用 LangChain,请参阅适用于 Bigtable 的 LangChain 快速入门。 此快速入门创建了一个应用,该应用会访问 Netflix 电影数据集,以便用户可以与电影数据交互。

适用于 Bigtable 的向量存储区

您可以使用向量存储区将文本文档及其向量嵌入和其他元数据保存到 Bigtable 表中。借助此功能,您可以:

  • 使用向量相似度搜索或最大边际相关性 (MMR) 搜索等技术搜索文档。
  • 使用文档的元数据对向量搜索结果执行额外的过滤。

如需了解详情,请参阅 LangChain 向量存储区主题。

向量存储区过程指南

关于向量存储区的 Bigtable 指南 介绍了如何执行以下操作

  • 安装集成软件包和 LangChain
  • 设置嵌入服务
  • 创建和配置 Bigtable 存储区
  • 自定义连接和身份验证
  • 使用 kNN 算法查询存储区,并按文档元数据过滤结果

适用于 Bigtable 的键值对存储区

Bigtable 以 ByteStore 类的形式为 LangChain 提供键值对存储区,让您可以处理存储为字节对象的文档或嵌入。在执行重复查询的嵌入缓存和索引等任务时,此方法可以帮助您显著降低费用和延迟时间。

如需了解详情,请参阅 LangChain 键值对 存储区 主题。

键值对存储区过程指南

关于键值对 存储区的 Bigtable 指南介绍了如何执行以下操作:

  • 安装集成软件包和 LangChain
  • 初始化所需的引擎和表
  • 自定义连接和身份验证
  • 如何使用 BigtableByteStore 作为向量嵌入的缓存层

适用于 Bigtable 的文档加载器

文档加载器会保存、加载和删除 LangChain Document 对象。 例如,您可以将要处理的数据加载到嵌入中,并将其存储在向量存储区,或将其用作向链提供特定上下文的工具。

如需从 Bigtable 中的文档加载器加载文档,请使用 BigtableLoader 类。BigtableLoader 方法会从表中返回一个或多个文档。使用 BigtableSaver 类来保存和删除文档。

如需了解详情,请参阅 LangChain 文档加载器主题。

文档加载器过程指南

关于文档加载器的 Bigtable 指南 介绍了如何执行以下操作

  • 安装集成软件包和 LangChain
  • 从表中加载文档
  • 向加载器添加过滤条件
  • 自定义连接和身份验证
  • 通过指定客户内容和元数据来自定义文档构造
  • 如何使用并自定义 BigtableSaver 来存储和删除文档

适用于 Bigtable 的 Chat 消息记录

问答应用需要对话中所述内容的历史记录,以便提供应用上下文来回答用户的其他问题。LangChain ChatMessageHistory 类可让应用保存消息,并在需要时检索消息来编制更多答案。消息可以是问题、答案、陈述、问候语或者用户或应用在对话期间提供的其他任何一段文字。ChatMessageHistory 会存储每条消息,并将每个对话的消息链接在一起。

Bigtable 使用 BigtableChatMessageHistory 扩展此类。

Chat 消息记录过程指南

关于聊天消息记录的 Bigtable 指南 介绍了如何执行以下操作

  • 安装 LangChain 并向进行身份验证 Google Cloud
  • 初始化 Bigtable 架构
  • 初始化 BigtableChatMessageHistory 类以添加和删除消息
  • 使用客户端自定义连接和身份验证