使用 LangChain 构建依托 LLM 的应用

本页介绍如何使用 LangChain 构建由 LLM 提供支持的应用。本页面上的概览链接到 GitHub 中的过程指南。

什么是 LangChain?

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

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

用于 Memorystore for Redis 的 LangChain 组件

Memorystore for Redis 提供以下 LangChain 接口:

参阅 LangChain 快速入门:适用于 Memorystore for Redis,了解如何使用 LangChain。

Memorystore for Redis 的向量存储

向量存储区从矢量数据库中检索和存储文档和元数据。向量存储让应用能够执行语义搜索来解释用户查询的含义。此类搜索称为向量搜索,它可以查找在概念上与查询匹配的主题。在查询时,向量存储区会检索与搜索请求的嵌入最相似的嵌入向量。在 LangChain 中,向量存储区负责存储嵌入的数据并为您执行向量搜索。

如需在 Memorystore for Redis 中使用矢量存储区,请使用 RedisVectorStore 类。

如需了解详情,请参阅 LangChain 矢量存储产品文档。

向量存储过程指南

针对矢量存储区的 Memorystore for Redis 指南介绍了如何执行以下操作:

  • 安装集成软件包和 LangChain
  • 初始化矢量索引
  • 为矢量商店准备文档
  • 将文档添加到矢量存储区
  • 执行相似度搜索 (KNN)
  • 执行基于范围的相似度搜索
  • 执行最大边际相关性 (MMR) 搜索
  • 将矢量存储区用作检索器
  • 从矢量存储区中删除文档
  • 删除向量索引

Memorystore for Redis 的文档加载器

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

如需从 Memorystore for Redis 中的文档加载器加载文档,请使用 MemorystoreDocumentLoader 类。使用 MemorystoreDocumentSaver 类可保存和删除文档。

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

文档加载器程序指南

适用于文档加载器的 Memorystore for Redis 指南介绍了如何执行以下操作:

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

Memorystore for Redis 的 Chat 消息记录

问答应用需要对话中所说内容的历史记录,以便为应用提供上下文来回答用户提出的其他问题。LangChain ChatMessageHistory 类可让应用将消息保存到数据库,并在需要时检索这些消息,以编写更多答案。消息可以是问题、答案、语句、问候语或用户或应用在对话期间给出的任何其他文本内容。ChatMessageHistory 会存储每条消息,并将每个对话的消息串联在一起。

Memorystore for Redis 使用 MemorystoreChatMessageHistory 扩展了此类。

Chat 消息记录步骤指南

针对聊天消息历史记录的 Memorystore for Redis 指南介绍了如何执行以下操作:

  • 安装 LangChain 并向 Google Cloud 进行身份验证
  • 初始化 MemorystoreChatMessageHistory 类以添加和删除消息