dot 未来速度即将在您所在城市的活动中亮相。

加入我们参加 Redis 发布会

在 Google 的 Vertex AI 平台上构建 LLM 应用程序

Google 的 Vertex AI 平台最近集成了生成式 AI 功能,包括 PaLM 2 聊天模型和一个控制台内生成式 AI 工作室。在这里,您将了解一种新颖的参考架构,以及如何利用现有的 Redis 投资最大程度地利用这些工具。

生成式 AI 作为 AI 的一个快速增长的子集,因其改变整个行业的潜力而备受关注。Google 的 Google Cloud Platform (GCP) 一直在努力使生成式 AI 的访问民主化,从而简化采用过程,并且 Google 通过强大的安全性、数据治理和可扩展性对其进行支持。

最近,Google在 Vertex AI 上宣布了对生成式 AI 的支持,其中包括四种新的基础模型。

  • Imagen 擅长图像生成、图像编辑、图像字幕和视觉问答等任务。
  • PaLM 2 for Chat 作为 PaLM 2 家族的扩展,专为多轮对话应用而设计。其目标是显著提升客户服务聊天机器人的能力。
  • Codey 适用于编码任务,支持代码生成和代码聊天。
  • Chirp 是一种语音模型,可以创建更具包容性的通信平台。它支持 100 多种语言。

语言模型构建模块

应用程序生成、理解和与人类语言进行交互的能力正在变得至关重要。这种功能的需求涵盖了众多领域,从客户服务聊天机器人和虚拟助手到内容生成。这得益于经过精心训练以生成类人文本的基础模型,例如 Google 的 PaLM 2。

在这个充满活力的环境中,两个基本组成部分始终脱颖而出,对于创建高效、可扩展的语言模型应用程序至关重要:基础模型和高性能数据层。

基础模型

基础模型(大型语言模型 (LLM) 是其子集)是生成式 AI 应用程序的基石。LLM 在大量文本集合上进行训练,这使它们能够为一系列任务创建上下文相关的类人文本。这些模型的改进使其更加复杂,从而导致对用户输入的响应更加细致和有效。所选语言模型会显著影响应用程序的性能、成本和整体质量。

然而,对于 PaLM 2 等模型来说,它们的能力并非无所不能。当它们缺乏特定领域的知识时,模型的相关性可能会下降,并且它们可能无法反映最新或正确的信息。

LLM 在提示中可以处理的上下文长度(即标记数量)存在硬性限制。此外,LLM 训练或微调需要大量计算资源,从而增加相当大的成本。

在平衡这些限制和潜在优势之间需要谨慎的策略和强大的基础设施。

您需要一个高性能数据层

高效的 LLM 应用程序以可扩展的高性能数据层为基础。此组件可确保高速交易和低延迟,这对于保持流畅的用户交互至关重要。它在缓存预先计算的响应或嵌入、存储过去的交互历史记录(持久性)以及进行语义搜索以检索相关上下文或知识方面发挥着至关重要的作用。

向量数据库已经成为数据层的一种流行解决方案。Redis 在当前浪潮到来之前就投资了向量搜索,该技术反映了我们的经验,尤其是在性能方面的考虑。这种经验体现在刚刚发布的Redis 7.2 版本中,该版本包括可扩展搜索功能的预览,与之前的版本相比,该功能将每秒查询数提高了 16 倍。

基础模型和向量数据库在行业内引起了极大的兴趣(和炒作),因为它们在不同行业塑造 LLM 应用程序方面起着举足轻重的作用。例如,一些较新的独立向量数据库解决方案,例如Pinecone,宣布了强劲的融资轮次,并且正在投入大量精力来吸引开发人员的关注。然而,随着每星期出现的新工具越来越多,很难知道在哪里可以信赖以确保企业就绪。

GCP 的独特之处在于其统一的解决方案。它将强大的基础模型的可用性与可扩展的基础设施以及用于调整、部署和维护这些模型的一套工具结合在一起。Google Cloud 将可靠性、责任和强大的数据治理放在首位,确保最高级别的數據安全性和隐私。根据其公开宣布的AI 原则,GCP 倡导有益的使用、用户安全和道德数据管理,从而为应用程序提供可靠和可信赖的基础。

但是,要真正利用这些进步,不可缺少一个补充的高性能和可扩展数据层。

当然,这就是 Redis 的用武之地。在接下来的部分中,我们将详细分析这些核心组件,并通过参考架构探索它们的交互。

可扩展语言模型应用程序的参考架构

GCP and Redis Enterprise reference architecture for LLM applications
用于 LLM 应用程序的 GCP 和 Redis Enterprise 参考架构

此处说明的参考架构适用于通用 LLM 用例。它结合使用 Vertex AI(PaLM 2 基础模型)、BigQuery 和 Redis Enterprise。

用于 LLM 应用程序的 GCP 和 Redis Enterprise 参考架构

您可以按照开源 GitHub 存储库中的 Colab 笔记本逐步设置此 LLM 架构。

  1. 安装库和工具。安装所需的 Python 库,使用 Vertex AI 进行身份验证,并创建 Redis 数据库。
  2. 创建 BigQuery 表。将数据集加载到 GCP 项目中的 BigQuery 表中。
  3. 生成文本嵌入。循环遍历数据集中的记录,使用 PaLM 2 嵌入 API 创建文本嵌入。
  4. 加载嵌入。将文本嵌入和一些元数据加载到正在运行的 Redis 服务器中。
  5. 创建向量索引。运行 Redis 命令以创建架构和新的索引结构,以便进行实时搜索。

完成必要的设置步骤后,此架构已准备好促进多种 LLM 应用程序,例如聊天机器人和虚拟购物助手

您需要了解的最重要的 LLM 概念

即使是经验丰富的软件开发人员和应用程序架构师也可能在这个新的知识领域中迷失方向。此简短摘要应该让您快速了解。

语义搜索

语义搜索从庞大的知识库中提取语义上相似的内容。这样做依赖于自然语言处理 (NLP)、PaLM 2 等基础模型以及向量数据库的强大功能。在此过程中,知识被转换为可以比较的数字嵌入,以找到与用户查询最相关的上下文信息。

Redis 作为高性能向量数据库,擅长对非结构化数据进行索引,从而实现高效且可扩展的语义搜索。Redis 可以增强应用程序快速理解和响应用户查询的能力。它强大的搜索索引可以促进准确、响应迅速的用户交互。

检索增强生成

检索增强生成 (RAG) 方法使用诸如语义搜索等方法,在将提示发送到 LLM 之前,动态地将事实性知识注入提示中。该技术最大程度地减少了对专有或频繁更改的数据进行 LLM 微调的必要性。相反,RAG 允许对 LLM 进行上下文增强,使其能够更好地应对手头的任务,无论是在回答特定问题、汇总检索到的内容还是生成新的内容方面。RAG 通常在代理的范围内实现。

代理涉及 LLM 针对要执行的操作做出决策,执行所述操作,进行观察,并重复此过程直至完成。LangChain 为代理开发提供通用接口。

Redis 作为向量数据库和全文本搜索引擎,有助于 RAG 工作流的顺利运行。由于其低延迟数据检索功能,Redis 通常是这项工作的首选工具。它确保语言模型能够快速准确地接收必要的上下文,从而促进 AI 代理任务的有效执行。

Example of a RAG architecture
RAG 架构示例

LLM 的缓存

缓存作为一种强大的技术,可以增强 LLM 的响应速度和计算效率。

标准缓存提供了一种机制来存储和快速检索重复查询的预生成响应,从而减少计算负载和响应时间。但是,在包含人类语言的动态对话环境中,完全匹配的查询很少见。这就是语义缓存发挥作用的地方。

语义缓存理解并利用查询的底层语义。语义缓存识别并检索与输入查询语义上足够相似的缓存响应。这种能力极大地提高了缓存命中的可能性,从而进一步提高了响应时间和资源利用率。

例如,在客户服务场景中,多个用户可能会使用不同的措辞询问类似的常见问题。语义缓存允许 LLM 对此类查询快速准确地做出响应,而无需重复计算。

Caching for LLMs
LLM 的缓存

Redis 非常适合在 LLM 中促进缓存。其强大的功能集包括对生存时间 (TTL) 和驱逐策略的支持,用于管理短暂数据。结合其用于语义搜索的向量数据库功能,Redis 能够高效快速地检索缓存的响应,从而显着提高 LLM 响应速度和整体系统性能,即使在负载很重的情况下也是如此。

内存和持久性

保留过去的交互和会话元数据对于确保对话的上下文连贯和个性化至关重要。但是,LLM 不具备自适应内存。这使得依赖可靠的系统来快速存储对话数据至关重要。

Redis 为管理 LLM 内存提供了一个强大的解决方案。即使在需求量很大的情况下,它也能高效地访问聊天历史记录和会话元数据。Redis 使用其数据结构存储来处理传统的内存管理,而其向量数据库功能则有助于提取语义相关的交互。 

LLM 有意义的地方

有什么关系?谁需要这些功能?这三个场景展示了这种 LLM 架构的实际应用。

文档检索

一些企业需要处理大量的文档,一个由 LLM 支持的应用程序可以作为强大的文档发现和检索工具。语义搜索有助于从庞大的知识库中查找到相关信息。

虚拟购物助手

LLM 可以作为复杂电子商务虚拟购物助手的核心。利用上下文理解和语义搜索,它可以理解客户的询问,提供个性化的产品推荐,甚至模拟对话交互,所有这些都在实时进行。

客户服务代理

部署 LLM 作为客户服务代理 可以彻底改变客户互动。除了回答常见问题之外,该系统还可以进行复杂的对话,提供定制的帮助,同时从过去的互动中学习。 

为什么选择 Redis 和 Google Cloud?

大量的新产品和流行语很容易导致“闪光灯综合征”。在这喧嚣之中,GCP 和 Redis 的组合脱颖而出,不仅提供创新的解决方案,而且提供可靠且经过时间考验的基础。 

以事实为基础:GCP 和 Redis 使 LLM 应用程序不仅仅是高级文本生成器。通过在运行时从您自己的来源快速注入特定领域的知识,它们确保您的应用程序提供事实准确且有价值的交互,这些交互专门针对您组织的知识库。

简化架构:Redis 不仅仅是键值数据库;它是一个实时数据瑞士军刀。通过消除为不同用例管理多个服务的需要,它极大地简化了您的架构。作为许多组织已经信任的缓存和其他需求的工具,Redis 在 LLM 应用程序中的集成感觉就像一个无缝的扩展,而不是一个新的采用。

针对性能进行了优化:Redis 是低延迟和高吞吐量数据结构的代名词。当与 GCP 无与伦比的计算能力相结合时,您将拥有一个不仅能智能对话,而且能快速响应的 LLM 应用程序,即使在高需求场景下也是如此。

企业就绪:Redis 不是新来的孩子。它是一个经过实战考验的开源数据库核心,可靠地为全球财富 100 强公司提供服务。凭借其企业产品的可实现的五九(99.999%)正常运行时间,并得到 GCP 强大的基础设施的支持,您可以信任一个能够满足企业需求的解决方案。

加快上市时间:通过 GCP Marketplace 触手可及的 Redis Enterprise,您可以将更多精力放在构建 LLM 应用程序上,而不是处理设置问题。这种易于集成的特性加快了上市时间,使您的组织具有竞争优势。

虽然新的向量数据库和生成式 AI 产品可能会在市场上制造很多噪音,但 GCP 和 Redis 的和谐则唱着不同的曲调——一种信任、可靠和稳固性能的曲调。这些经过时间考验的解决方案不会很快消失,它们已经准备好为您的 LLM 应用程序提供支持,今天和未来很多年。

有兴趣了解更多吗?

Redis 将参加 8 月 29 日至 31 日在旧金山举行的 Google Next ‘23。我们邀请您参观 Redis 展位 #206,我们很乐意与您详细讨论。
准备好亲自动手了吗?您可以通过 GCP Marketplace 设置 Redis Enterprise 并完成 入门教程