自大型语言模型 (LLM) 诞生和 ChatGPT 发布以来,人工智能 (AI) 已从一个遥不可及的概念,转变为在各行各业和业务领域展现出真正的商业前景。从个性化的客户体验到精简的运营和增强的安全性,可能性是无限的。
然而,我们在许多公司遇到的现实是,缺乏强大且灵活的基础设施技术,无法让企业充分利用这些 AI 承诺的潜力。领导者看到了 AI 的潜力并希望采用它,但团队却无法获得能够让他们探索 AI 的基础工具。
这正是 Red Hat OpenShift AI 和 Redis 发挥作用的地方,它们为数据科学家和机器学习 (ML) 工程师提供了强大的环境。
OpenShift AI 为组织提供了一种高效的方式来部署和管理一套全面的 AI/ML 工具。它创建自定义环境的能力确保了数据科学家和机器学习工程师始终能够轻松获得所需的资源。
Redis 是世界上最快的内存数据库。它是一个多功能的解决方案,已经超越了简单的键值数据存储,支持广泛的用例,包括
AI 应用,特别是涉及生成式 AI (gen AI) 的应用,需要高性能和低延迟。用户期望实时响应和个性化体验。OpenShift AI 和 Redis 的结合正是解决了这些挑战。
OpenShift AI 提供了一个环境,数据科学家可以在其中使用不同的工具,包括嵌入模型、LangChain 或 LlamaIndex 等第三方框架以及多个 LLM,以大规模实现其生成式 AI 用例。Redis 则提供了生成式 AI 用例所需的亚秒级延迟。
1. 检索增强生成 (RAG)
RAG 通过集成外部数据源来增强 LLM 的知识。LLM 无需完全依赖其预训练知识,而是可以实时从数据库中获取相关信息,以生成更准确、更符合上下文的响应。使用业务特定数据微调 LLM 传统上是一个昂贵且耗时的过程,并且可能不可行,具体取决于知识库更新的频率(新记录或更新记录)。将知识库放在模型外部提供了更大的灵活性,并且更容易确保 LLM 始终拥有最新信息来为用户服务。
商业效益:提高准确性,减少幻觉,并为聊天机器人、内容生成工具等提供最新的信息。
在此用例中,Redis 扮演向量数据库的角色,而 OpenShift AI 则为数据科学家提供了计算资源和带有管道和模型服务工具的 Notebook 环境,用于准备向量数据以及测试语义搜索的质量和性能。OpenShift AI 还提供护栏等高级工具,以提高 LLM 的准确性,并监控和更好地保护用户输入交互和模型输出。
通过使用 Redis 作为向量数据库,管理员可以配置基于角色的访问控制 (RBAC) 和访问控制列表 (ACL),以隔离不同用户、部门等之间的向量数据。这允许包含敏感信息的向量只共享给特定用户。Redis 在最高级别实现这种控制,而不仅仅是作为查询参数。
2. 语义缓存
运行 LLM 可能很昂贵,特别是对于重复性查询。一个语义缓存根据查询的含义而非精确文本存储 LLM 响应。当用户提交新的提示时,系统将查找相似的提示,如果找到匹配项,将直接从缓存中检索 LLM 响应,从而节省了访问 LLM 服务器的行程以及相关的 Token 成本(使用托管 LLM 服务时)或计算容量(自托管模型时)。
商业效益:语义缓存可以极大地降低 LLM 成本,特别是对于用户可能提出基本或通用问题(常见问题等)的用例。其他好处包括更快的响应时间和提高AI 驱动应用的扩展性。
在此用例中,Redis 将用作向量数据库和语义缓存。一些框架,例如 LangChain,可以立即配置为将提示保存到语义缓存,并自动检查每个新提示。这使得开发人员能够快速利用此功能,而无需编写大量代码或控制缓存的读写。数据科学家可以根据用例的要求和特点定义缓存的距离阈值。
OpenShift AI 提供环境和工具,例如 Jupyter 和数据科学管道,用于创建和运行生成向量数据并加载的代码。这不仅可以帮助数据科学家生成向量数据,还可以利用 LLM 生成的数千个问题和答案预加载语义缓存。这样,当第一个用户提出问题时,很有可能缓存中已经存在类似的问题,从而将响应时间缩短到毫秒级,可能比传统的 RAG 管道快 15 倍。
如果我们能够确保大多数提示只需毫秒级响应的用户体验,我们还能如何丰富这种用户体验?如果我们知道用户每次都不会等待几秒钟,我们还可以向其中添加哪些其他数据或服务?
3. LLM 内存
LLM 从定义上来说是无状态的。这意味着它们不保留与用户之前交互的任何记录。就模型而言,每个提示都是一个全新的提示,无需考虑过去或历史。
为了解决这一限制,客户端应用程序(如聊天机器人)会保留用户与模型之间的对话历史记录(以及一些附加信息),并在用户每次提交新提示时将这些数据提供给模型。使用这些数据的能力称为“上下文窗口”,它使得模型能够将答案保持在当前对话的上下文中。
商业效益:更具吸引力和上下文感知的聊天机器人、个性化的客户体验以及处理复杂对话能力的提升。
Redis 不仅存储上下文窗口数据,而且再次提供了与 LangChain 等框架的即时集成,开发人员只需 2 行代码即可启用 LLM 内存。此外,使用 Redis 存储 LLM 内存还带来了其他重要好处,例如
此外,OpenShift AI 为数据科学家提供了一个可定制的环境,允许他们访问 Redis 中的对话历史记录,以便微调对话模型。能够访问包含真实问题和答案的数据集对于确保持续改进 LLM 响应至关重要。借助 OpenShift AI,数据科学家拥有分析和准备数据集的资源和工具,可用于微调嵌入模型或 LLM(或准备新的提示以“预热”语义缓存)。
现在我们已经介绍了主要的用例,让我们看看如何将这些想法付诸实践。
使用 OperatorHub 可以极大地简化将 Redis 部署到 Red Hat OpenShift 的过程。在 OpenShift Web 控制台中,转到 OperatorHub 页面(位于左侧导航面板的 Operators 部分)。
从那里,您可以浏览到 Database 标签并查找 Redis,或者只需在搜索栏中键入 Redis。
然后您可以打开 Details 页面,然后单击 Install 按钮来部署 Redis Operator。
Operator 部署完成后,可以通过 OpenShift UI 轻松快速地创建 Redis 资源
Redis 主要有两种资源:集群和数据库(以及它们的 active-active 对应项,本文不讨论此范围)。
Redis 集群管理多个数据库,确保高可用性和可扩展性。这是需要创建的第一个资源。集群创建后,可以创建一个新数据库来服务于上述用例。务必启用 Search 和 JSON 支持功能,因为它们对于向量搜索是必需的。
数据库创建完成后,用户可以访问 Redis 控制台以检索连接信息、检查指标并跟踪数据库的整体运行状况。
接下来,可以配置 OpenShift AI 环境。在这里,用户可以创建 Notebook 环境、为本地 LLM 配置推理服务、创建和配置数据科学管道等等。
Jupyter Notebook 提供了一种非常简单便捷的方式来试验向量搜索。用户只需几行代码即可连接到 Redis 数据库,然后可以利用 LangChain 和 LlamaIndex 等流行框架,或者使用 redis-vl 包,该包允许他们使用向量功能,而无需特定框架。
人工智能工具日益普及,无疑为那些寻求现代化、创新并保持竞争优势的公司带来了广泛的机会。
提供具备所需资源和能力的环境以利用这些 AI 工具,是公司在努力了解 AI 能为其业务带来何种价值时面临的最大挑战之一。
OpenShift AI 和 Redis 为希望有效利用 AI 的组织提供了强大的组合。通过提供灵活的生成式 AI 开发环境和高性能数据平台,这些技术使数据科学家和机器学习工程师能够构建创新型 AI 解决方案,创造真正的商业价值。无论是 RAG、语义缓存还是 LLM 内存,OpenShift AI 和 Redis 都为构建快速、可扩展和上下文感知的智能应用提供了基础。