大模型 + 矢量数据库 + Kafka = 实时 GenAI


Apache Kafka 作为机器学习基础设施的关键任务且可扩展的实时数据结构为数千家企业提供服务。生成式人工智能 (GenAI) 与 ChatGPT 等大型语言模型 (LLM) 的发展改变了人们对智能软件和自动化的看法。这篇博文解释了数据流和 GenAI 之间的关系,并展示了 GenAI 的巨大机遇和一些早期采用者。

NLP 代表自然语言处理。它是人工智能 (AI) 的一个子领域,专注于计算机和人类语言之间的交互。NLP使计算机能够以有意义且有价值的方式理解、解释和生成人类语言。
自然语言处理涉及一系列任务,包括:

  • 文本解析和标记化:将文本分解为单个单词或标记。
  • 命名实体识别 (NER):识别和分类文本中的命名实体,例如人员、组织、位置和日期。
  • 情绪分析:确定文本中表达的情绪或情绪基调,无论是积极的、消极的还是中性的。
  • 机器翻译:将文本从一种语言翻译成另一种语言。
  • 问答:构建能够理解和回答以自然语言提出的问题的系统。
  • 文本生成:创建类似人类的文本或生成对提示的响应。

NLP 在聊天机器人、虚拟助理、语言翻译、信息检索、情感分析等应用中至关重要。


生成式人工智能是人工智能的一个分支,专注于创建能够生成新内容的模型和系统,例如图像、文本、音乐,甚至整个虚拟世界。这些模型在大型数据集上进行训练,并学习模式和结构以生成与训练数据类似的新输出。这就是为什么广泛流行的流行词是大型语言模型(LLM)。

生成式 AI 用于下一代 NLP,并使用生成对抗网络 (GAN)、变分自动编码器 (VAE) 和循环神经网络 (RNN) 等技术。生成式人工智能在艺术、设计、娱乐和科学研究等各个领域和行业都有应用。

生成式 AI (GenAI) 是下一代 NLP 引擎,可帮助现实世界中的许多项目实现服务台自动化、客户与聊天机器人的对话、社交网络中的内容审核以及许多其他用例。

Apache Kafka 成为这些机器学习平台中的主要编排层,用于集成各种数据源、大规模处理和实时模型推理。

Kafka数据流已经为许多 GenAI 基础设施和软件产品提供支持。可能出现非常不同的情况:

  • 数据流作为整个机器学习基础设施的数据结构
  • 通过实时制作的流处理进行模型评分
  • 使用输入文本或语音生成流数据管道
  • 大语言模型实时在线训练

LLM + 矢量数据库 + Kafka = 实时 GenAI
实时模型训练仍然是一种新颖的方法。如今,许多机器学习算法还没有准备好进行连续在线模型训练。但是,将 Kafka 与矢量数据库相结合,可以使用批量训练的 LLM 以及实时更新,将最新信息输入 LLM 中。

使用 Kafka Connect 将数据实时输入矢量数据库,并与成熟的 LLM 相结合,以实现具有特定于上下文的建议的实时 GenAI。

Expedia – 提供更好客户体验的对话平台
Expedia 是一家领先的在线旅行和预订公司。他们有许多机器学习的用例。我最喜欢的例子之一是他们的对话平台构建在 Kafka 和 Confluence Cloud 上,以提供弹性的云原生应用程序。

Expedia 对话平台的目标很简单:让数百万旅行者能够通过文本、Facebook 或他们选择的渠道与自动代理进行自然语言对话。让他们预订行程、更改或取消以及提出问题:

  • “我的中转时间是多长?”
  • “我住的酒店有游泳池吗?”
  • “携带高尔夫球杆需要支付多少费用?”

然后,利用 Expedia 旗下所有品牌对该客户的所有了解,并应用机器学习模型,立即自动实时向客户提供他们想要的信息,无论是简单的答案还是复杂的新行程。

Expedia在四个月内将这个平台从零构建到投入生产。这就是使用完全托管的无服务器事件流平台作为基础的巨大优势。项目团队可以专注于业务逻辑。

Expedia 需要一种更接近旅行援助的服务。它需要处理特定于上下文的、多方、多渠道的对话。因此,需要自然语言处理、翻译和实时分析等功能。完整的服务需要跨多个品牌进行扩展。因此,需要一个具有订单保证、一次性语义 (EOS) 和实时数据处理功能的快速且高度可扩展的平台。

BMW – 用于合同智能、工作场所协助和机器翻译的 GenAI
汽车公司宝马在 2019 年卡夫卡峰会上展示了创新的 NLP 服务。汽车制造商拥有各种 NLP 场景也就不足为奇了。其中包括数字合同智能、工作场所协助、机器翻译和客户对话。后者包含对话式人工智能的多个用例:

  • 服务台自动化
  • 客户交互中心(CIC)通话语音分析以提高质量
  • 使用智能知识库的自助服务
  • 代理支持
  • 聊天机器人

文本和语音数据经过结构化、丰富、情境化、总结和翻译,以构建实时决策支持应用程序。

Tinder – 使用 Kafka 和 GenAI 进行智能内容审核、匹配和推荐
约会应用程序 Tinder 是一个很好的例子,我可以在其中想到数十个 NLP 用例。Tinder 在过去的 Kafka 峰会上谈到了他们的Kafka 支持的机器学习平台

Tinder 是 Kafka 及其生态系统的大量用户,适用于各种用例,包括内容审核、匹配、推荐、提醒和用户重新激活。

任何约会或社交平台的一个关键用例是内容审核,用于检测假货、过滤色情内容和其他不当内容。内容审核将 NLP 和文本处理(例如聊天消息)与图像处理(例如自拍上传)结合起来,或者使用 Kafka处理元数据并将链接的内容存储在数据湖中。两者都利用深度学习来处理大量文本和图像。

避免幻觉以生成可靠的答案
幻觉是一种现象,即人工智能模型生成的内容并非基于真实数据或信息,而是创建完全虚构或不切实际的输出。当生成模型(例如文本或图像生成器)生成不连贯、不真实或与输入数据或上下文不相关的内容时,可能会出现幻觉。这些幻觉可以表现为文本、图像或其他类型的内容,这些内容看似合理,但完全是由模型捏造的。

幻觉在生成人工智能中可能会出现问题,因为它们可能导致生成误导性或虚假信息。

由于这些原因,生成式人工智能出现了一种新的设计模式:检索增强生成(RAG)。让我们首先看看这个新的最佳实践,然后探讨为什么使用 Apache Kafka 和 Flink 等技术进行数据流是 GenAI 企业架构的基本要求。

语义搜索和检索增强生成 (RAG)
许多支持 GenAI 的应用程序都遵循检索增强生成 (RAG) 的设计模式,将法学硕士与准确且最新的上下文相结合。Pinecone(一个完全托管的矢量数据库)背后的团队使用此图进行了很好的解释

从较高层面来看,RAG 通常是两个独立的步骤。第一个是数据增强步骤,其中对不同的(通常是非结构化的)操作数据进行分块,然后使用嵌入模型创建嵌入。嵌入被索引到向量数据库中。矢量数据库是一种工具,可让语义搜索为不需要精确关键字匹配的提示找到相关上下文。

其次是推理步骤,GenAI 模型接收问题和上下文以生成可靠的答案(没有幻觉)。RAG 不会更新嵌入,但会检索相关信息并与提示一起发送给 LLM。 

用于嵌入语义搜索的向量数据库
矢量数据库,也称为矢量存储或矢量索引,是一种专门设计用于高效存储和检索矢量数据的数据库。在这种情况下,矢量数据是指数值矢量的集合,它可以表示多种数据类型,例如文本、图像、音频或任何其他结构化或非结构化数据的嵌入。 矢量数据库在与机器学习、数据检索、推荐系统、相似性搜索等相关的应用中非常有用。

矢量数据库擅长执行相似性搜索,通常称为语义搜索。他们可以根据各种相似性度量(例如余弦相似性或欧几里得距离)快速找到与给定查询向量相似或接近的向量。

矢量数据库(不一定)不是一个单独的数据库类别。Gradient Flow 在其检索增强生成的最佳实践中解释道:
“矢量搜索不再局限于矢量数据库。许多数据管理系统(包括 PostgreSQL)现在都支持矢量搜索。根据您的具体应用,您可能会找到满足您特定需求的系统。优先考虑近实时还是流媒体?查看 Rockset 的产品。您已经在使用知识图了吗?Neo4j 对矢量搜索的支持意味着您的 RAG 结果将更容易解释和可视化。”

Kafka、Flink 和 GenAI 的数据流实践
让我们看一下将数据流与 GenAI 相结合的具体示例、演示和真实案例研究:

  • 示例:Flink SQL + OpenAI API
  • 演示:ChatGPT 4 + Confluence Cloud + 用于 RAG 和矢量搜索的 MongoDB Atlas
  • 成功案例:Elemental Cognition – 由 Confluence Cloud 提供支持的实时人工智能平台

示例:Flink SQL + OpenAI API
使用Kafka和Flink进行流处理可以实现实时数据和历史数据的数据关联。一个很好的例子,特别是对于生成式人工智能来说,是特定情境的客户服务。我们在这里以航空公司和航班取消为例。

有状态流处理器从CRM、忠诚度平台和其他应用程序获取现有客户信息,将其与客户对聊天机器人的查询相关联,并对LLM 进行 RPC 调用。

成功案例:Elemental Cognition – 由 Kafka 和 Confluence Cloud 提供支持的实时 GenAI 平台
David Ferrucci 博士是著名的人工智能研究员和 IBM 突破性 Watson 技术的发明者,于 2015 年创立了 Elemental Cognition。该公司利用 GenAI 来加速和改进关键决策,而信任、精确度和透明度都很重要。

Elemental Cognition技术可跨行业和用例使用。主要目标是医疗保健/生命科学、投资管理、情报、物流和调度以及联络中心。该人工智能平台开发负责任且透明的人工智能,帮助解决问题并提供可以理解和信任的专业知识。

Elemental Cognition 的方法将不同的人工智能策略结合在一个新颖的架构中,该架构获取并推理人类可读的知识,以协作和动态地解决问题。其结果是将专家解决问题的情报更加透明且更具成本效益地交付到对话和发现应用程序中。