生成式人工智能和大型语言模型 (LLM) 正在引起人们的极大兴趣。它们激发了公众的想象力,因为它们在提示您帮助编写文本时非常有用。但对于开发人员而言,它们更具革命性,因为它们极大地简化了构建 AI 应用程序的方式。让我们来看看为什么。
传统上,构建 AI 应用程序的过程分为四个步骤:
第 3 步通常很简单(尽管
毫不奇怪,当一个问题领域需要一个博士团队来成功解决它时,除了少数公司之外,这将是成本和技能高昂的。
每个人都对带有 LLM 的生成 AI 如此兴奋的一个原因是,你通常可以在没有上述任何步骤的情况下“足够好”地解决问题。使用生成式 AI,您的工作是:
就是这样,真的。其他一切都是细节。
最重要的细节:你在第 1 步中给 GPT 什么数据?你不能把所有东西都扔给它;它只能处理 GPT-3.5 中的 4k 令牌,或在 GPT-4 中最多处理 32k,这要慢得多且成本更高。
矢量搜索使您能够采用您已经创建的要发送到 GPT 的确切查询,并将其扔到您的数据库中,您可以在其中放置您对客户的所有了解。矢量搜索从字面上回答“与此查询最相关的数据是什么”,您无需做任何进一步的工作——这几乎是神奇的。
(我坚信矢量搜索应该是你的主要应用程序数据库的一个特性,而不是一个单独的系统,这就是为什么
获得最相关的数据和查询后,将它们捆绑在一起并调用 OpenAI,您会得到答案,然后就完成了。 (我正在掩盖一些挑战,比如“
因此,流媒体内容提供商会使用如下数据:他看了多久;加上我们能想到的所有元数据,然后将其全部反规范化为单个文本 blob,并通过编码器运行它以获得向量。
如果这是 Netflix,那将非常容易,因为
完成后,您可以使用这样的查询从 Cassandra 获取相关行,where ?是您从同一嵌入 API 获得的查询向量的绑定变量:
SELECT original_data_text FROM user_recommendation_data WHERE user_id = 'jonathan' ORDER BY embedding ANN OF ? LIMIT 20
然后,您将这些结果添加到您的 LLM 提示中,然后……就是这样。现在你有一个推荐系统,是你在一周内建立的,没有博士学位,只是
但即使您确实需要构建自定义模型,LLM 也可以帮助您生成数据、标签和特征。然而,这是另一篇文章的主题!
我推荐阅读
作者:Jonathan Ellis,DataStax