为 OpenAPI 规范构建搜索/RAG - Nick Khami | 向量空间讲座
Demetrios Brinkmann
·2024 年 4 月 11 日

“使用 Trieve 和 Qdrant 这样的工具,在 Open API 规范之上构建搜索功能非常非常简单。我认为这里真正需要强调的是,如果你正在使用 Qdrant 的基于组的系统,那么它有多么出色。”
— Nick Khami
Nick Khami 是一位经验丰富的全栈工程师,自 Qdrant v0.11.0 于 2022 年 10 月发布以来,他一直深入参与向量搜索和 RAG 应用程序的开发。他的专业知识和对创新的热情促使他创立了 Trieve,一家致力于帮助企业采用尖端向量搜索和 RAG 技术的公司。
在 Spotify、Apple Podcast、Podcast addicts、Castbox 上收听本期节目。您也可以在 YouTube 上观看本期节目。
主要收获
Nick 展示了 Trieve 和搜索技术世界的进步,通过 Qdrant 演示了如何利用开放的 API 规范轻松构建精确的搜索功能,以发现色彩缤纷的运动鞋,同时揭示了改进搜索体验和分析的潜力,适用于立法应用程序等多种应用。
我们将深入探讨搜索和推荐应用程序的机制。无论您是开发人员还是仅仅是爱好者,本期节目都将为您提供如何利用行业最新进展创建无缝搜索体验的见解。
以下是本期节目的五个主要收获
- 了解 Open API 规范:探索 Open API 规范背后的魔力,以及它们如何满足您的开发需求,尤其是在 REST API 路由方面。
- 使用 Trieve 和 Qdrant 简化:Nick 通过一个使用 Trieve 和 Qdrant 基于组的系统的真实世界应用程序,向我们展示了如何轻松构建搜索功能。
- 提升搜索结果:了解 Qdrant 中分组和推荐的强大功能,以微调您的搜索结果,并以色彩缤纷的运动鞋世界为例!
- Trieve 的基础设施变得简单:了解如何利用 Trieve,让创建数据集、获取 API 密钥和启动搜索比您想象的要简单。
- 使用 Tantivy 增强向量搜索:如果您对替代搜索引擎感到好奇,请了解 Tantivy、它如何补充 Qdrant 以及它在生态系统中的作用。
趣闻:Trieve 成立于 2023 年,其名称是“retrieve”一词的谐音。
节目笔记
00:00 向量空间讲座介绍 Nick Khami。
06:11 Qdrant 系统简化了困难的构建过程。
07:09 使用 Qdrant 组织和管理内容。
11:43 创建一个组:搜索结果可能不会分组。
14:23 使用 Qdrant 搜索:利用系统路由。
17:00 Trieve 完成 YC W24 批次。
21:45 彻底改变公司搜索。
23:30 下次更新:用户跟踪、分析和交叉编码器。
27:39 Qdrant 支持稀疏向量。
30:09 最终问题和总结。
Nick 的更多语录
“你可以在大约 10-15 分钟内完成这个 RAG、这个搜索和数据上传,这真的很酷,也是我们 Trieve 能够真正实现的事情,这要归功于 Qdrant 令人惊叹的团队所创造的一切。”
— Nick Khami
“Qdrant 还提供组推荐,这真的很酷……你不仅可以搜索组,还可以推荐组,这简直太棒了。但是,是的,你可以上传所有数据,进入搜索 UI,你可以搜索它,你可以测试推荐是如何工作的,在很多情况下,你还可以修复搜索中的问题。”
— Nick Khami
“通常在进行推荐时,你会根据你想要推荐的结果构建一个平均向量,然后用它进行搜索。Qdrant 现在提供了一种更进化的推荐模式,你可以遍历图,查看正点相似度,以及负相似度。”
— Nick Khami
文字记录
Demetrios:怎么回事?各位!欢迎回到另一期向量空间讲座。我今天非常兴奋能和大家在一起。一如既往,我们有一位非常特别的嘉宾。我们请来了 Nick,他是 Trieve 的创始人兼工程师。如你所知,我们喜欢以一些推荐来开始这些会议,希望能让你生活更美好。所以当 Sabrina 在这里时,我会把问题抛给她,问她最近一直在做什么推荐。但她现在正在旅行,所以我就给你我的,关于我一直在听和享受的一些东西。对于那些想要美妙音乐的人,我推荐一首老歌,但很棒。
Demetrios:它来自一个我现在想不起来名字的令人难以置信的乐队,但它叫做“This Must Be the Place”。实际上,它来自 Talking Heads。绝对推荐这首歌,作为开始美好一天的一种有趣方式。我们会在聊天中放出这首歌的链接,但我们今天不仅会谈论好的音乐推荐。我们还将请 Nick 上台,谈论搜索和 RAG。Nick 处于一个非常有趣的位置,因为他自 2022 年以来一直在使用 Qdrant 的向量搜索。让我们把这个人请上台,看看他有什么要说的。你好吗,伙计?
Nick Khami:嘿。
Demetrios:嘿。
Nick Khami:很高兴认识你。
Demetrios:你怎么样?
Nick Khami:很好。
Demetrios:很高兴见到你。
Nick Khami:是啊,是啊。旧金山看起来会是阳光明媚的一天,这很好。整个一月份都在下雨,但终于有了一些阳光明媚的日子,这太棒了。
Demetrios:嗯,你为我们早起并做这件事真是太棒了。我感谢你从旧金山远道而来,今天和我们谈论搜索和推荐系统。抱歉,RAG 应用程序。我一说到搜索,脑子里就自动联想到推荐器,因为它们有点相似,但这次不是。你要谈论搜索和 RAG 应用程序,特别是围绕 Open API 规范。我知道你已经为我们准备了一个演讲。你想开始吗?然后我会监控聊天。
Demetrios:所以如果任何人有任何问题,请在聊天中提问,我会再次出现在屏幕上并提问。
Nick Khami:是啊,是啊,我很乐意。我就开始吧。好的。所以我想我首先要谈的是 Open API 规范到底是什么。这是 Qdrant 的 Open API 规范。我觉得这是一个很好的向量空间讨论话题的例子。你可以在这里看到,Qdrant 在其 API 上提供了许多不同的 REST API 路由。每一个都存在于这个名为 Open API 规范的大型 JSON 文件中。
Nick Khami:有很多项目都有 Open API 规范。Stripe 有一个,Sentry 也有一个。这有点像记录你的 API 的事实标准。
Demetrios:你能把你的屏幕放大一点吗?或者字体放大一点?
Nick Khami:我想我可以,是的。
Demetrios:好的,太棒了。这样我的视力就没问题了。哦,那太棒了。那太棒了。
Nick Khami:好的,我们做得好吗?好的,太棒了。是的。希望这能让大家更容易阅读,但是,是的。这就是 Open API 规范。如果你在 JSON 文件中查看它,它看起来有点像这样。如果你转到顶部,我可以展示结构。有一个名为“paths”的对象列表或对象,它包含 API 的所有不同 API 路径。然后还有一个名为“security”的对象,它解释了身份验证方案。
Nick Khami:你有一个很好的信息部分,我将忽略这两部分,它们并不是那么重要。然后你有一个标签列表,这非常酷,因为这就是事物如何组织的方式。如果我返回,你可以看到这些以标签的形式存在。所以这些项目将是 Open API 规范中的标签。一件有趣的事情是,如果在 OpenAPI 规范上构建搜索功能相对简单,那会很酷,因为如果你不知道你在寻找什么,那么这个搜索栏并不总是很好用。例如,如果你在组内搜索。哦,这个实际上效果很好。哇,这看起来像是一个增强的 OpenAPI 规范搜索栏。
Nick Khami:我应该在去之前检查一下。所以这很好。我们树形示例的搜索栏实际上没有,哦,它有相同的搜索,但我真正感兴趣的是,我想解释如何增强它或将其连接到向量搜索以进行 RAG 审计。这就是我想要强调的。Qdrant 有一个非常有趣的功能叫做组。你可以一次性搜索一组点,并以面向组的方式返回结果,而不是只搜索一个单独的路由。对于 Open API 规范来说,这非常有趣。因为这意味着你可以在查看每个标签的单独路径时搜索一个标签。
Nick Khami:这是一种没有 Qdrant 这样的系统就很难构建的东西,而且我认为它是与 PG vector 或 Face 或 Yousearch 的暴力搜索等相比的主要功能之一。我设定的目标是找出哪个端点最适合我正在做的事情。在许多情况下,特别是 Qdrant 的 OpenAPI 规范为例。为了实现这一点,我使用了 JavaScript 的脚本运行时 Bun。我是它的忠实粉丝。它通常运行良好,性能很高,而且易于使用。我从这里开始加载 JSON 中的 Qdrant OpenAPI 规范,然后导入 Trieve 中存在的一些东西。
Nick Khami:Trieve 在底层使用 Qdrant 来提供其许多功能,这就是我将要在这里进行的方式。所以我从 Trieve SDK 客户端包中导入了一些东西,实例化了一些环境变量,设置了 Trieve API 的配置,现在有趣的部分来了。我从 Qdrant Open API JSON 规范中提取标签,这就是这里的这个数组,然后我遍历每个标签,并检查我是否已经创建了该组。如果已经创建了,我就什么也不做。但是如果我没有创建,那么我就继续创建该组。对于每个标签,我都在创建这些组,这样我就可以在创建每个路径作为单独的点时,将它们插入到其相关的组中。好的,我完成了所有组的创建,现在对于下一部分,我遍历路径,它们是单独的 API 路由。对于每个路径,我提取它拥有的标签、摘要、描述和 API 方法。
Nick Khami:所以 post、get、put、delete 等等,然后我创建这个点。在 Trieve 的世界里,我们把每个点都叫做一个“chunk”,有点像使用 RAG 术语。对于每个单独的路径,我创建一个 chunk,通过在“group tracking ids”请求体键中包含它的标签,它将自动添加到其相关的组中。我这里有一些 try-catch 块,但这真的是整个脚本。使用 Trieve 和 Qdrant 这样的工具,在 Open API 规范之上构建搜索非常非常简单。我认为这里真正值得强调的是,使用基于组的系统是多么棒,如果你正在使用 Qdrant。如果你能想到一个电子商务商店,有时一个商品会有多种颜色。
Nick Khami:你会有红色、白色、蓝色等版本的运动鞋。当有人执行搜索时,你不仅想找到相关的鞋子,还想找到该鞋子的相关配色。组允许你在 Qdrant 中做到这一点,因为你可以将每种配色作为单个点,或者在 Trieve 世界中,将每个 chunk 放入给定的组中,然后当有人搜索时,他们将获得给定组顶部相关的配色。这真的很棒,很酷。你可以看到运行它非常简单。如果我想通过再次运行它来更新整个数据集,我可以,这将继续为 Qdrant 提供的每个路由创建所有相关的块。如果你们正在观看并有兴趣复制这个实验,我创建了一个开源的 GitHub 仓库。
Nick Khami:我们在这里放大一下,你可以在 reference@GitHub.com/devflowinc/OpenAPI/search 找到。你可以按照 readme 中的说明复制整个过程。好的,但是我上传了所有数据。让我们从 UI 的角度看看它是如何工作的。是的。Trieve 在你添加所有数据后,会提供一个非常好的搜索 UI。所以如果我回到主页,你可以看到我正在使用 Qdrant OpenAPI 规范数据集。这里的组织是我的电子邮件。
Nick.K@OpenAPI 关于 Trieve 的优点之一,就像我说的,仅仅是添加数据的简单性,我们使用 Qdrant 的多租户功能来提供在一个给定组织中拥有多个数据集的能力。所以你可以拥有,我有 OpenAPI 组织。你可以创建额外的具有不同嵌入模型的数据集,以便在搜索时进行测试和实验。好的。但我今天不会介绍所有这些功能,我只想突出我们刚刚构建的这个 OpenAPI 搜索。所以我想为了对比,我将使用我之前使用的完全相同的查询,也放大一下。好的。
Nick Khami:那个就像我们刚刚做的,对吗?所以,我该如何创建一个组?这不是一个 Gen AI RAG 搜索。这只是一个通用的搜索。好的,那么,我该如何创建一个组?我们将得到所有这些顶层结果。在这种情况下,我们不是在进行面向组的搜索。我们只是返回相关的块。有时,或者很多时候,我认为人们会希望进行更面向组的搜索,其中结果按标签分组。所以在这里,我将看到 Qdrant OpenAPI 规范中最相关的端点或最相关的标签理论上是集合,而在集合中,它认为这三个是最相关的路由。推荐点组发现批次点推荐批次点,这些都不是我想要的,也就是如何创建一个组?但没关系,对于集群,你可以看到创建分片键删除。
Nick Khami:所以对于集群,这有点意思。它认为集群是相关的,很可能是因为集群是一种组,而且在很大程度上与查询匹配。然后我们还有点,它关注分片系统和快照系统。当下一个版本发布时,我们将在 Qdrant 中拥有滚动快照,这非常令人兴奋。如果有人对这个功能感到兴奋的话。我当然是。然后它提取指标。对于搜索来说,这可能更容易一些。
Nick Khami:你可以输入如何通过组搜索点?现在它将专注于我所说的更好的结果。你可以在请求中看到非常好的子句突出显示。它加粗了响应中最相关的句子,在本例中是第二个和第三个段落。是的,描述和请求的作用摘要。关于 Trieve 的另一个方便之处是,在我们的默认搜索 UI 中,你可以包含指向资源的链接。如果我点击这个链接,我将立即进入 Qdrant Redux 规范中正确的位置。这就是整个搜索体验。对于 Jedi 方面,我做了更少的优化,但我们可以实验一下看看效果如何。
Nick Khami:我再放大一下,伙计们。好的,假设我想创建一个新的 RAG 聊天,我在这里问,我该如何在 Qdrant 中以面向组的方式搜索点?它将代表我进行一次搜索查询,再次由 Qdrant 的奇迹驱动。一旦它完成了这个搜索查询,我就能够获得引文并查看模型认为的内容。模型在第一个响应中做得相当不错,它说要在 Qdrant 中以面向组的方式搜索点,我可以利用系统提供的路由和端点,我首先想要使用的是 points search groups。如果我点击这里的 doc one 并查看路由,这实际上是正确的。方便的是,你可以在其中打开链接。哦,好吧,这个 env 是错的,但方便的是,如果我粘贴并修复系统中的不正确部分,将聊天更改为搜索,你应该能够加载搜索 UI 的单个块并在此处阅读它,然后你可以更新它以包含文档扩展,更改实际索引出去的副本等等。
Nick Khami:这是一种非常方便的方式,可以推广和增强您的数据集,而无需编写大量代码。是的,它将继续写答案。我不会完整介绍,但这确实概括了我想展示的内容。这做起来非常简单。您可以在大约 10-15 分钟内完成 RAG、搜索和数据上传,这真的很酷,也是我们 Trieve 能够真正实现的事情,这要归功于 Qdrant 令人惊叹的团队所创造的一切。是的,伙计们,希望这很酷。
Demetrios:太棒了。我有一些问题。哇,无限旋转的领域。所以我想了解 Trieve,我想深入了解你们在那里做什么。然后我想稍微谈谈 Qdrant 多年来的演变,因为你已经使用它很久了。但首先,我们能稍微了解一下你正在做什么,以及你如何致力于创造你正在创造的东西吗?
Nick Khami:是啊。在 Trieve,我们刚刚完成了 Y Combinator W24 批次和我们的基金图,这很酷。我们花了一年时间。所以 Dens 和我于 2023 年 1 月创立了 Trieve,我们不断地构建和构建,在这个过程中,我们开始尝试构建一个应用程序,让你在工作中进行 AI 驱动的辩论。这并不是最好的主意。这就是我们最初开始使用 Qdrant 的原因,在构建它的过程中,我们认为很难获得 Qdrant 等产品提供的令人惊叹的下一代搜索功能,因为对于一个典型的团队来说,他们必须在本地机器上运行一个 Docker compose 文件,添加 Qdrant 服务,然后通过 docker compose up D 启动 Qdrant,设置环境变量,下载 Qdrant SDK。所有这些事情在索引完所有数据后都会变得非常非常困难,然后你必须创建一个 UI 来查看它,因为如果你不这样做。很难判断性能。
Nick Khami:我的意思是,你总是可以做这些基准测试,但搜索和推荐有点像启发式的东西。就像你总是可以有一个基准,但数据是动态的,它会变化,你真的喜欢。在我们当时所经历的,我们真的需要一种方法来快速衡量系统正在做什么。我们放弃了我们的 RAG AI 应用程序争论应用程序,转而尝试为其他人构建基础设施,以从稀疏编码或稀疏编码(我的意思是,弹性、LSR 模型)所提供的高质量搜索中受益,非常酷。有所有密集的嵌入向量模型,我们希望提供一套托管的基础设施来构建这类东西。这就是树形的东西。所以,就像,有了树形,你就去。
Nick Khami:这更像是一种托管体验。您进入仪表板,创建一个帐户,创建数据集,获取 API 密钥和数据集 ID,然后进入您的小脚本,为 Open API 规范查找 80 行代码,添加所有数据,然后砰砰砰,您就可以开始搜索了。我们还提供推荐功能。也许我应该在演示中展示这些,例如,您可以打开单个路径并获取类似路径的推荐。
Demetrios:有推荐,所以我离题不远。看,搜索和推荐,它们在我脑海中占据着相同的位置。
Nick Khami:Qdrant 还提供组推荐,伙计们。所以这真的很酷。你不仅可以搜索组,还可以推荐组,我认为这太棒了。但是,是的,你可以上传所有数据,进入搜索 UI,你可以搜索它,你可以测试推荐是如何工作的,在很多情况下你也可以修复搜索中的问题。一个很好的例子是,我们为 Y Combinator 的公司构建了搜索功能,这样他们就可以做得更好。Algolia 使用的是一种较旧的搜索算法,不提供语义功能。这意味着你到 Y Combinator 搜索公司栏,输入哪个公司提供短期租赁,你找不到 Airbnb。
Nick Khami:但是有了 Trieve 就不一样了。但是有了 Trieve,它的魔力在于,即使你相信与否,有很多 YC 公司都在做短期租赁,但 Airbnb 自然不会排在第一位。所以有了 Trieve,我们提供了一个营销 UI,你输入这个查询,你会看到 Airbnb 的排名比你想要的要低一点。你可以立即调整你索引的文本,甚至添加一个重新排名权重,使其在结果中显示得更高。再试一次,它就奏效了。你还可以试验和玩弄 RAG。我认为 RAG 在我们的 API 中有点像三等公民。
Nick Khami:事实证明,搜索推荐在我们的客户和用户中更受欢迎。但是,是的,我想概括地说,Trieve 是一个为团队构建搜索推荐和 RAG 提供的一体化基础设施套件。我们将 Qdrant 等数据库和下一代搜索 ML AI 模型的力量与用于微调结果排名的 UI 结合起来。
Demetrios:伙计,我喜欢这一点的原因是,通过精心设计的搜索,你可以做很多事情,这对很多公司来说都非常有价值,但我认为很多人都把它当作一个已解决的问题而忽略了,但事实并非如此,而且并不像你刚才解释的那么容易。
Nick Khami:是的,我的意思是,我们对此很兴奋。我的意思是,即使你们去 YC.Trieve.AI,那是 Y Combinator 公司搜索,你可以与 Algolia 或 Elasticsearch 提供的旧式搜索进行 A/B 测试。而且,对我来说,这简直是魔法。这绝对是人类智慧和伟大之处的体现,你可以输入“我应该在哪里找一个 Airbed?”它会找到 Airbnb,尽管没有任何关键词匹配。我担心现在我们的大脑已经被训练去使用 Google。在 Google 搜索栏中,你可以提出问题,输入抽象的想法和概念,它都能奏效。但是每当我们进入一个电子商务搜索栏时,哦,它们都太糟糕了。
Demetrios:它们太糟糕了。每个人都有过这样的经历,我甚至不搜索。我就想,好吧,或者我会去谷歌,在谷歌上专门搜索那个网站,你知道,然后用括号括起来。
Nick Khami:我们对此感到兴奋。我们希望让这些搜索体验更容易地利用最新的科技,并帮助解决这个问题。特别是如果 AI 继续变得更好,人们会越来越习惯于事情的运作方式,而不必为了让它工作而进行切面和过滤。是的,我们很高兴能让公司更容易地开展和构建这项工作。
Demetrios:所以聊天中有一个问题,问我们可以在哪里获取实际的搜索指标。
Nick Khami:是的,这是我们接下来计划添加的功能。基本上,目前在 Trieve,我们不跟踪用户的查询。我们接下来正在 Trieve 构建一个系统来完成这项工作。你将能够分析在搜索营销 UI 或可能是一个新的 UI 中,所有针对你的数据集进行的搜索,并调整你的排名,像现在一样进行局部修复,但借助分析的力量。我们很快还会提供动态可调的交叉编码器。交叉编码器是一种神奇的神经网络,可以将全文和语义结果组合成一个新的排名顺序。它们没有得到充分利用,但随着时间的推移也很难调整。我们将提供 API 端点,用于上传,用于执行搜索结果的点击率,然后动态地在批处理计时器上调整交叉编码器以调整排名。
Nick Khami:这应该会在未来两到三周内推出。但是,是的,我们现在才刚刚开始处理分析障碍。我们也刚刚解决了速度障碍。所以现在事情很快。正如你们在演示中希望看到的,大多数查询都在 50 毫秒以内。P95 大约是 80 毫秒,这非常酷,顺便说一下,感谢 Qdrant。Qdrant 在所有这些方面都发挥了巨大作用。但是,是的,分析将在未来两到三周内推出。
Nick Khami:我们对此很兴奋。
Demetrios:所以聊天中又有一个问题,他们问道,我想知道 LLM 是否可以根据模式建议 GraphQL 查询,因为它不那么依赖端点。
Nick Khami:我想他们可以在我们为这种情况构建的系统中做到这一点,我实际上没有使用响应体。如果你们访问 GitHub 上的 devflowinc Open API 搜索,你们可以自己创建一个例子来修复这个问题。在 Open API JSON 规范的响应查询中,你有结构。如果你将它嵌入到块中作为另一个段落标签,然后返回进行 RAG,它可能可以做到。我看不出有什么理由不能做到。
Demetrios:我刚刚在聊天中放了链接,供有兴趣的人参考。现在,让我们在接下来的几分钟里聊聊使用 Qdrant 的旅程。你说你从 2022 年就开始使用它了。这些年来产品发展了很多。你看到了什么?从一开始,你觉得最有价值的附加功能是什么?
Nick Khami:我的意思是,有很多,好吧,我脑海中一直强调的我想谈谈的是,我记得 2023 年 5 月,有一个 GitHub 问题,Algora 悬赏 API 密钥。我记得 Dens 和我,我们已经使用了一段时间,我们知道没有 API 密钥这回事。我们总是开玩笑说,哦,我们太早了。我们的数据库甚至都没有 API 密钥。你必须在你的 VPC 或子路由中拥有访问权限才能安全地工作。我不确定这是不是最高的。
Nick Khami:我再说一些其他更有价值的东西,但我只是记得,那有多酷。是啊,是啊,是啊。
Demetrios:当你发现它的时候,国家的状况和。
Nick Khami:它太火了,就像 API 密钥被添加了一样,我们当时想,哇,这太棒了。这有点简单,但对我们来说就像,哦,哇,这。我们现在在安全性方面更舒服了。但是,伙计,Qdrant 添加了太多很酷的东西。我想我可能会突出的一些事情是组系统。当它被添加时,那真是太棒了。我的意思是,我认为这是我最喜欢的功能之一。然后在那之后,最近版本的稀疏向量支持非常重要。
Nick Khami:我们有一个带有 Tantivy 的疯狂子系统。如果有人在看,知道 Tantivy 这个 crate,它是一个全文。嗯,它是一个用 Rust 编写的 Leucine 替代品。嗯,我们构建了这个疯狂的子系统,然后 Qdrant 就像支持了稀疏向量,我们当时想,哦天哪,我们应该和他们一起研究稀疏向量的东西,我们甚至不知道你们想做什么,因为我们花了所有时间构建它,可能可以帮助那个 PR。我们感到抱歉,因为那真的很好。当它被添加时,它的性能修复也非常酷。Qdrant 在我们使用它时添加的其他一些非常棒的东西。哦,多种推荐模式,我想我忘了它们都叫什么,但是,对于那些在看的人来说,这也很疯狂,一定要试试 Qdrant,它真的非常好,比你在 PG 向量中能做的很多事情都好。
Nick Khami:它有一个推荐功能,非常棒。通常在进行推荐时,你会根据你想要推荐的结果构建一个平均向量,然后用它进行搜索。Qdrant 现在提供了一种更进化的推荐模式,你可以遍历图,查看正点相似度,以及负相似度。如果负点的相似度高于正点,它就会忽略该边缘推荐。至少对我们来说,对于我们的客户,当他们使用负样本时,这大大提高了他们的推荐质量。我们甚至没有发现这一点。它在版本发布说明中,我们没有想到。一两个月后,我们有一个客户表示他们想要更高质量的推荐。
Nick Khami:我们当时想,好吧,我们是否使用了所有可用的功能?我们没有。那很酷。
Demetrios:你现在能理解这一点,并能几乎比我向人们解释得更好,这真是太酷了。它表明你深入其中,并且看到了一个强大的用例,因为有时就像,好吧,这已经存在了。它需要以最佳用例进行沟通,这样人们才能理解它。看起来在电子商务的用例中,它确实深入人心。
Nick Khami:这实际上是为了一个公司,他们在美国立法方面进行搜索,有趣的是,我们想要更多的电子商务客户来检索。我们目前的大多数客户都是 SaaS 应用程序。这个特定的客户,我想他们不会介意我大声说出他们的名字。它叫做 Bill Track 50。如果你们想搜索美国立法,可以试试他们。他们非常非常优秀。是的,他们是真正使用它的团队。但是,是的,我认为 Qdrant 这样的基础设施还有另一个很酷的地方,它非常非常强大,以至于很多时候,寻找一个实施合作伙伴是值得的。
Nick Khami:比如说,即使你要使用 Qdrant,Qdrant 的团队也非常乐于助人,你应该考虑联系他们,因为他们很可能可以帮助任何将要构建搜索推荐的人,在高层次上弄清楚提供什么以及能提供什么帮助,而不是 GitHub 问题代码级别,而是在高层次上。考虑你的用例。再强调一遍,搜索是一个启发式问题,而且在某种程度上非常人性化,所以与那些非常熟悉搜索推荐的人讨论你的解决方案总是值得的。
Demetrios:是的。他们知道最好的功能和最好的工具,可以让你获得想要的结果。所以。好吧,尼克,最后一个问题是关于 Trieve 的。我有一个关于你为什么这么称呼它的理论。是 retrieve 吗?你只是去掉了 Re-?
Nick Khami:是的。去掉了 re。更简洁。这就像 Facebook 的名言,但适用于 Trieve。
Demetrios:我第一次读到它时,我在想,它一定是我不熟悉的某个法语单词。所以这很酷,因为它法语。你只需要在一个或两个 e 上面加一个重音符号,然后它就更酷了。就像奢华品牌一样。所以,感谢你来到这里。感谢你带我们走过这一切并谈论它,伙计。这太棒了。
Nick Khami:是的,谢谢邀请我。我非常感谢。
Demetrios:好的。对于其他想要参加向量空间讲座的人,欢迎加入我们。你知道在哪里找到我们。一如既往,再见。