生产级RAG用于实时新闻提炼 - Robert Caulk | 向量空间讲座
Demetrios Brinkmann
·2024年3月25日

“我认为,我们这个行业面临着许多有趣的挑战,而且行业正在建立最佳实践。正如你所说,大家都在努力弄清楚正在发生什么。而像Qdrant这样的一些基础工具确实赋能了产品,赋能了公司,也赋能了我们。”
– Robert Caulk
Emergent Methods的创始人Robert是一位科学家,致力于各种开源项目,范围从大规模人工智能到离散元建模。他目前与Emergent Methods的一个团队合作,自适应地建模每日超过100万篇新闻文章,目标是减少媒体偏见并提高新闻意识。
在 Spotify, Apple Podcast, Podcast addicts, Castbox 上收听本集。您也可以在 YouTube 上观看本集。
主要要点
Robert Caulk 和 Emergent Methods 如何为开源社区做出贡献,特别是在AI系统和新闻文章建模方面?
在本集中,我们将了解一些正在重塑我们与AI系统和新闻文章建模互动方式的开源项目。Robert将带我们探索新闻分发的演进格局以及使其更高效和平衡的技术。
本集的要点如下:
- 上下文很重要:了解新闻中上下文工程的重要性,以及它如何确保信息流的多样化和易于消费。
- 介绍 Newscatcher API:了解这个工具如何利用50,000个新闻来源,实现更全面和更新的新闻报道。
- 嵌入的魔力:了解文章摘要和语义搜索,以及它们如何对于发现真正引起共鸣的内容至关重要。
- Qdrant 与云:探索Qdrant的云服务及其单一职责原则如何支持一种强大、模块化的新闻数据管理方法。
- 初创企业的超能力:了解为什么初创企业在实施新技术解决方案方面具有优势,以及现有企业如何被遗留产品束缚。
有趣事实:你知道吗,初创企业缺乏既定的实践,在新技术范式面前实际上是一种超能力?遗留产品根本跟不上!
节目笔记
00:00 介绍 Robert 和 Emergent Methods。
05:22 对扩展上下文工程的关键投入。
07:07 优化搜索中语义相似度的嵌入。
13:07 新搜索技术提升效率和速度。
14:17 具有隐私和可扩展性的可靠云提供商。
17:46 高效的数据移动和资源管理。
22:39 服务使用 GoLang,安全使用 Rust。
27:34 物流已组织;Newscatcher 提供最新新闻。
30:27 测试了 Weaviate 和另一个 Rust 项目。
32:01 根据收藏和用户偏好过滤更新。
更多来自Robert的引语
“网络搜索功能强大,但速度慢,而且最终不准确。我们正在构建的是实时索引,没有Qdrant我们做不到这一点。”
– Robert Caulk
“你需要开始考虑持久性和搜索,并确保这些服务是健壮的。这就是Qdrant发挥作用的地方。我们发现,一体化解决方案为了方便牺牲了性能,或者为了方便牺牲了准确性,但这真的不适合我们。我们宁愿自己进行编排,让Qdrant做Qdrant擅长的事情,而不是只是希望一体化解决方案能帮我们处理好一切,这样可以实现模块化和性能。”
– Robert Caulk
“任何人搭乘Qdrant的浪潮都在收获益处。似乎每个月都有新功能加入,比如两个月前,稀疏向量支持就被添加了。不断有新的重要功能出现,赋能产品。”
– Robert Caulk
文字记录
Demetrios:Robert,很高兴您能来参加向量空间讲座。不知道您是否熟悉我们这里的一些有趣的事情,但我们可以与像您这样的各类专家交流他们在向量空间方面的工作,以及您如何克服挑战、如何处理问题,因为这是一个非常新的领域,而且不是最直观的,正如您将在接下来的讲座中告诉我们的那样。我真的很激动,因为您本职是科学家。现在,您是Emergent Methods的创始人,并且您致力于各种开源项目,范围从大规模AI系统到离散元建模。目前在Emergent Methods,您每天自适应地建模超过100万篇新闻文章。听起来新闻文章数量非常庞大。您一直在谈论和处理生产级RAG,这基本上是目前大家最喜欢的话题。所以,我知道您有很多话要告诉我们,伙计。
Demetrios:我就把时间交给您了。我现在把您的屏幕显示出来,如果有人想回答或提问,请随时在聊天中提出,我会在需要时打断Robert。
Robert Caulk:当然。
Demetrios:很高兴您来,伙计。我很期待这次讲座。
Robert Caulk:谢谢邀请,Demetrios。是的,这是一个很好的机会。我喜欢谈论向量空间、参数空间。所以能来节目里交流很棒。我认为,我们这个行业面临着许多有趣的挑战,而且行业正在建立最佳实践。正如你所说,大家都在努力弄清楚正在发生什么。而像Qdrant这样的一些基础工具确实赋能了产品,赋能了公司,也赋能了我们。所以,让我开始吧。
Robert Caulk:是的,正如您所说,我是Robert,是emergent methods的创始人。我们的背景,正如您所说,我们非常致力于自由和开源软件。我们从很多狭义AI开始。Freak AI是我们的原创项目之一,它是用于算法交易的AI ML,属于非常狭义的AI,但我们走到一起,构建了flowdapt。这是一个非常好的集群编排软件,我将在本次演讲中稍作介绍。但我们的一些背景涉及到,正如您所说,用于超级计算机的大规模深度学习。非常酷、有趣的东西。我们也有一些云经验。
Robert Caulk:我们非常喜欢配置,所以让我们深入探讨一下。为什么我们实际上需要在新闻中进行上下文工程?新闻很重要,而且需要以一种平衡、多样化但同时也易于消费的方式分发,这有很多原因。对,我们来看看左边的Chat GPT。这是Chat GPT plus,它正在Bing上搜索加沙新闻,试图实时找到排名前三的文章。网络搜索功能强大,但速度慢,而且最终不准确。我们正在构建的是实时索引,没有Qdrant我们做不到这一点,有很多原因我很乐意深入探讨,但最终Chat GPT会在这里汇总一些东西。它来了。它报告的第一件事是一篇25天前的文章,内容也是25天前的。
Robert Caulk:过时的新闻。所以它只是不准确。因此,这里发生的事情简直就是危险的。对,所以这是一个非常微妙的话题。正确地进行新闻中的上下文工程,这需要大量的精力、时间和投入和专注,并非所有公司都真正拥有这类资源。所以我们谈论的是执行新闻业标准,对吗?OpenAI和Chat GPT,他们根本没有时间和精力为这类事情构建专门的提示词。没关系,他们在做很棒的事情,他们在帮助你写代码。但需要有人站出来,真正在这里强制执行一些新闻业标准。
Robert Caulk:这包括强制执行来源的多样性、语言、地区和来源。如果我要阅读关于加沙正在发生的事情,你可以肯定我想知道埃及在说什么,法国在说什么,阿尔及利亚在说什么。所以让我们把这件事做好。这大概就是我们建议的,而做到这一点的唯一方法就是解析大量的文章。这样你就能避免过时、陈旧的报道。这是一个真正的危险,我们在第一张幻灯片中看到的就是这种情况。这里每个人都知道幻觉是一个问题,尤其是在谈论新闻时,你必须将其最小化。如果弄错了,代价真的很高。
Robert Caulk:所以你需要专门的人来做这件事。既然你要投入大量的资源和人力,那就不妨好好地扩展它。这就是它的意义所在。我们称之为上下文工程,确切地说,是新闻上下文工程,在llama 2之前(llama 2也正在到处赋能产品)。正如我们都知道的,传统的流程是分块,取512个token,经过翻译器,经过distill art,进行句子提取,如果幸运的话,也许再进行文本分类,从中获取一些情感,然后它工作了。它能给你一些东西。但是,在我们谈论阅读全文、获取真正丰富的上下文、灵活的输出、翻译、摘要,以及随着产品演进实时决定自定义提取时,这是传统流程根本不支持的。对。
Robert Caulk:我们说的是能够即时说,你知道吗,实际上我们想问所有文章一个非常特定的问题,并提取出这个非常特定的字段。这实际上只是一个提示修改。这一切都基于拥有非常高质量、基础的、多样化的新闻。所以我们会再多谈一点。但newscatchers是我们使用的来源之一,它提供了50,000个不同的来源。所以去看看吧。网址是newscatcherapi.com。如果你正在进行这方面的研究,他们甚至会为研究人员提供免费访问。
Robert Caulk:所以我不打算深入探讨直接的RAG内容。我们可以深入,但我乐意谈谈如何优化以及我们是如何优化的一些例子。右边你可以看到这个图表,我们试图跟随摘要和嵌入的过程。我稍后会多谈一点。这在这里是为了支持我们在摘要了那些文章并准备好进行嵌入之后的工作。嵌入非常重要,必须做好,因为就像节目名称所暗示的,如果你想进行任何真正丰富的语义相似性搜索,你必须拥有一个干净的聚类向量空间。如果你想深入挖掘每天100万篇文章中的重要事实,你就需要把这件事做好。所以拥有一个用户查询,它与嵌入页面(也就是我们要进行搜索的经过丰富处理的数据)是不等价的。
Robert Caulk:那么我们如何在这里连接这些点呢?当然,有很多方法可以做到这一点。一个有趣且值得讨论的方法是IDE(即 hypothetical document embedding,假设文档嵌入)。这基本上是一个假设的文档嵌入。你所做的是直接使用LLM生成一篇假文章。这就是我们在右边展示的。所以比方说,如果用户问纽约市政府发生了什么事,你可以说,嘿,给我写一个基于假设的摘要,它可以完全是假的,然后用它来创建一个假的嵌入页面,并用它来进行搜索。对。这样你就离你的目标更近了。
Robert Caulk:这样做有一些限制,也有计算成本,而且它不会更新。它是基于任何东西。它基本上是深入了解它对纽约市政府的了解,然后为你创建关键词。所以这里肯定也有优化的空间。当你谈到歧义时,如果用户接着问,他们为什么要改变规则?当然,这就是你可以开始更多地进行提示工程,然后说,好的,考虑到这段历史对话和当前问题,给我一个没有歧义的明确问题,然后执行高级操作,如果那是你想做的事情。这里的真正目标是保持在单一参数空间,一个单一的向量空间中。在进行搜索时,尽可能地接近进行嵌入时的状态。所以我们这里谈论的是生产级规模的东西。
Robert Caulk:所以我真的很高兴能详细讨论这个技术栈,我们依赖的开源技术栈,其中就包括Qdrant。但让我们从VLLM开始。我不知道你们有没有听说过。这是一个非常棒的新项目,他们专注于连续批处理和页面锁定。如果我完全诚实地说,在技术细节和他们如何在GPU内存中实现这一切方面,这真的超出了我的能力范围。但我们所做的是将这部分工作外包给那个项目,而且我们非常喜欢他们的做法,我们也看到了非常好的结果。它正在提高吞吐量。所以当你谈论试图解析一百万篇文章时,你会需要大量的吞吐量。
Robert Caulk:另一个是文本嵌入推理。这是一个很棒的服务器。许多向量数据库会说,好的,我们将为你做所有的嵌入和所有一切。但当你转向生产规模时,我稍后会谈到这一点。你需要使用微服务架构,所以让你的数据库承担嵌入排序和处理其他事情的任务并不是一个非常明智的做法。因此,老实说,我非常推崇单一职责原则,而Tei就是为你做这件事的。它还支持动态批处理,这在这个输入和输出长度各异的世界里非常有用。所以它很棒。
Robert Caulk:它真正简化了流程,并允许你隔离资源。但是现在的主角是Qdrant,它真正展现了自己的实力。任何搭乘Qdrant浪潮的人都在收获益处。似乎每个月都有新功能加入,比如两个月前,稀疏向量支持就被添加了。不断有新的重要功能出现,赋能产品。对。所以对我们来说,我们做了大量的Cert更新,我们真的需要最大限度地减少客户端连接和网络开销。所以你有了批量Cert更新。
Robert Caulk:过滤器非常重要。我们谈论的是实时过滤。如果用户问的问题与过去24小时相关,我们不能搜索一个月前、两个月前的新闻文章。因此,拥有时间戳过滤并使其高效(Qdrant正是如此)非常重要。关键词过滤为我们打开了巨大的产品机会领域。至于稀疏向量,我们立即搭上了这趟列车,并且正在看到收益。我不想说它取代了elasticsearch,但elasticsearch也在使用稀疏向量。所以你可以将splade添加到elasticsearch中,splade非常棒。
Robert Caulk:它是BM 25的一个非常好的替代品。它基于那种架构,这确实为过滤掉搜索中一些无用的关键词提供了很多机会,比如当用户使用“和”、“一个”、“然后”、“那里”这些不太重要的词时。Splade有点像语义和稀疏检索的混合体,所以它真的很有趣。然后,结合语义和稀疏向量进行混合搜索的想法也开启了进行排序的能力,最终你得到一个更高质量的产品,这才是真正的目标,尤其是在生产环境中。这里的第四点,我想说,可能是对我们来说最重要的之一,因为我们所处的领域,延迟是王道,能够将Qdrant部署在与所有其他服务相同的集群中。所以我们只是通过交换机进行通信。这太重要了。我们永远不会被网络所拖累。
Robert Caulk:我们永远不用担心云提供商可能过载或出现吵闹邻居问题之类的事情,这些完全消除了。而且你拥有高度隐私,对。所有数据都与外部世界完全隔离。所以第四点,我想说,对我们来说是最大的价值之一。但分发部署非常重要,因为高可用性很重要,还有深度存储,当我们从事新闻存档业务时(这也是我们的主要任务之一),就是永久存档新闻。这是一个不断增长的数据库,因此你需要一个能够随数据增长而增长的数据库。那么,这个上下文工程的TLDR(太长不看)是什么?嗯,服务编排实际上是基于一个非常异构和并行事件驱动环境中的服务编排。在右侧,我们有用户请求进来。
Robert Caulk:它们都命中相同的服务,无论你将抓取工作流安排在每五分钟还是每两分钟运行,它们也会命中相同的服务,这需要一些编排。所以这就是我想接下来讨论实际生产、扩展和系统编排以及我们如何做到的地方。我将提供一些图表,精确地展示我们为什么在这里使用这些工具。这是我们使用服务的Kubernetes集群概览。所以这有点像重新绘制了之前的图表,但更好地展示了这些东西是如何连接以及为什么连接的。我将逐一介绍这些服务,以便深入了解每个服务。但我们认为,这里的目标是,微服务编排是关键。坚持单一职责原则。
Robert Caulk:像Qdrant、Tei、VLLM和Kubernetes这样的开源项目,它们太重要了。Kubernetes为安全性和低延迟打开了大门。当然,如果你要加入这场游戏,你就必须找到强大的DevOps人才。这是无法回避的。所以让我们一块一块地过一遍,谈谈flow Dapp。这就是我们的项目。那是我们的开源项目。我们花了大约两年时间根据我们的需求构建它,我们非常兴奋,因为我们在上周或前一周左右进行了公开开源。
Robert Caulk:所以最终,经过我们所有的测试、重写和重构,我们开放了。我们已做好准备。它现在正在运行asknews应用程序,我们对它的未来以及它将如何帮助其他人编排他们的集群感到非常兴奋。我们的目标和优先级是高度并行计算,我们使用了各种不同的执行器进行测试和比较。所以当你使用Flowdapt时,你可以选择ray或dask。这很关键。特别是对于纯Python,零代码更改,你不需要知道ray或dask是如何工作的。在后端,flowdapt就是纯Python。
Robert Caulk:这是我们的一个关键目标,以确保我们优化数据在集群中的移动方式。自动资源管理,这又回到了Ray和Dask。它们帮助管理集群的资源,为任务分配GPU,或为单个GPU分配多个任务。当你处理像我们在前面幻灯片中讨论的那种高度异构的工作负载时,这些功能非常非常有用。对我们来说,最大的优先级是确保快速原型开发和本地调试。当你处理10到15台服务器、40或50台服务器的集群,或者使用Ray处理100台服务器时,说实话,Ray可以按你想要的方式进行扩展。所以当你处理如此大规模的集群时,确保你在笔记本电脑上看到的结果与部署后看到的结果一致就显得尤为重要。能够调试你在集群中看到的任何问题对我们来说非常重要,我们确实发现需要在任务之间轻松地进行集群范围内的数据共享。
Robert Caulk:所以本质上我们所做的就是让获取和设置值变得非常容易。这使得在任务之间移动和共享数据变得极其容易,并且可以使其高度可用,保存在集群内存中或持久化到磁盘,以便在你进行不可避免的版本更新或调试时,可以从实时持久化状态重新加载。新闻业务的调度非常重要。调度,确保各种工作流在不同的时间点和不同的周期或频率(更确切地说)被调度,并且它们被正确调度,它们的触发器在你需要时触发你 exactement 需要的东西。对于实时性来说非常重要。然后,如果愿意的话,我们这个项目最大的卖点之一就是Kubernetes风格。一切。我们的目标是让一切都采用Kubernetes风格,这样如果你熟悉Kubernetes,一切都会很熟悉,一切都面向资源。
Robert Caulk:我们甚至有自己的flowectl,它就是Kubectl风格的命令模式。我们做的很多工作都是在这里确保部署周期的效率。所以目标是flowdapt可以为你调度和管理所有这些服务,创建工作流。但是为什么选择这些服务呢?对于这个特定的用例,我将快速跳过。我知道我的时间不多了,但当然你会需要一些专有的远程模型。这就是它的运作方式。当然,你会与本地的llm共享负载,以降低成本,并在本地拥有一些推理引擎。但这些显然有优点和缺点。
Robert Caulk:我不会一一赘述。我很乐意提供这些幻灯片,欢迎大家自行查阅详情。是的,当然。你需要开始考虑持久性和搜索,并确保这些服务是健壮的。这就是Qdrant发挥作用的地方。我们发现,一体化解决方案为了方便牺牲了性能,或者为了方便牺牲了准确性,但这真的不适合我们。我们宁愿自己进行编排,让Qdrant做Qdrant擅长的事情,而不是只是希望一体化解决方案能帮我们处理好一切,这样可以实现模块化和性能。如果愿意的话,我们可以放弃Qdrant。
Robert Caulk:可能我们不会。或者如果需要,我们会放弃,或者用任何取代vllm的东西替换。我们试图保持模块化,以便未来的工程师能够适应目前正在蓬勃发展和爆炸式增长的技术。对。在生产规模环境中,最后要谈的一点是真正地最小化延迟。我在提到Kubernetes时强调了这一点,确保这些服务在同一个网络上,这非常重要。但这谈论的是通信延迟。但是当你开始谈论处理大量流量,生产规模,大量用户同时提问,并且你需要去访问各种服务时,这就是你真正需要将其隔离到异步环境的地方。
Robert Caulk:当然,如果你能把这些都用Golang来写,那对你来说可能是最好的选择。我们有一些服务是用Golang写的,但主要是机器学习工程师需要处理的那些端点。我们正在使用fast API和pydantic,说实话,它很强大。Pydantic V 2.0现在运行在Rust上,正如Qdrant社区的任何人所知,Rust在处理需要高安全性和不变性、原子性保护的高度并行化环境时非常有价值。请原谅我的发音,这大致总结了关于生产规模的讨论,我很乐意回答问题。我喜欢深入探讨这类话题。我确实有一些关于为什么初创公司目前比一些现有企业更有优势的一般性想法,我会快速浏览一下,不到一分钟,只是为了提出来。我们可以讨论一下,看看我们是否同意或不同意。
Robert Caulk:但你在介绍中提到了,Demetrios,那就是最佳实践尚未建立。没错。这就是初创企业拥有如此巨大优势的原因。而它们尚未建立的原因是,嗯,新技术范式尚未被充分探索。我们还不太了解它的局限性以及如何妥善处理这些事情。这很重要。同时,一些现有企业正面临着各种限制和变革阻力等等,然后还有市场对现有企业维护这些遗留产品并试图让它们在旧技术上勉强运行的期望。在我看来,初创企业,你围绕着一个推理引擎构建一切,将这个推理引擎用于系统的各个方面,以真正打开产品的适应性。
Robert Caulk:好吧,我不会把elasticsearch归入现有企业。我把elasticsearch放在中间。我明白它仍然有很大的价值,但对于一些供应商锁定,我不太喜欢。不过无论如何,就这样了。这就是我想要说的。我很乐意回答问题或聊一会儿。
Demetrios:伙计,我有很多问题想问你,谢谢你对这个技术栈的分解。这正是我喜欢看到的那种讲座,因为你完全展示了你的内部情况。我刚刚玩了玩asknews应用程序。所以我认为我应该分享我的屏幕,向大家展示这到底是什么,以及目前它看起来如何。所以你现在应该能看到了吧?对吧?为你所构建的一切点赞,太酷了。因为我打开后,直观地就能说,哦,太酷了,我可以更改,我可以看到正面新闻,我还可以按地区来选择。我想确保我看到的是欧洲或美国类别里的所有内容。
Demetrios:我可以看到体育类,等等等等,就像你在翻旧报纸,你可以去体育版或金融版,然后你可以引用来源,然后看到,哦,这里的报道趋势是什么?我们正在获得什么样的报道?我们在报道周期的什么阶段?大概是这样。然后,等等,虽然我在看好消息,我却看到了“她写了谋杀”。所以不管怎样,我们所做的是...
Robert Caulk:实际上是根据民意调查进行排序,我们确实是按最积极到最不积极排序的。但你说得对,我们前几天还在聊,说,干脆只显示积极的新闻吧。但是,是的,这是个好主意。
Demetrios:这不就行了。
Robert Caulk:“她写了谋杀”。
Demetrios:但我昨天正好和某人讨论的一件事是,你如何在你的向量数据库中更新内容。所以我可以想象,就像你提到的,新闻周期非常快,两小时前发生的新闻和现在的情况非常不同。对一个非常大的新闻事件的理解,两小时前和现在是非常不同的。所以你如何确保你总是拉取最最新和最及时的信息?
Robert Caulk:这是另一个我们认为需要妥善处理的后勤问题,它有几个层面。所以对我们来说,当我们解析来自Newscatcher的数据时,Newscatcher很好地总是向我们推送最新的数据块。有时会有一个延迟到达,但总的来说,它总是最新的新闻。所以我们以五分钟为单位获取数据块,然后对这些数据块进行全部丰富处理,并将其添加到Qdrant。这就是我们使用时间戳过滤的地方,这是一个非常重要的点。所以在Qdrant的元数据中,我们使用范围过滤器,我们称之为时间戳过滤器,但它实际上是范围过滤器,这很有帮助。所以当我们回去更新内容时,我们会排序并确保只过滤掉我们还没有看到的内容。
Demetrios:好的,这完全有道理。基本上你可以将这推广到我昨天和人们谈论的事情,那就是,嘿,我有一个HR政策,它每两个月或每个季度更新一次,我想确保我的HR聊天机器人告诉人们他们的休假政策时,它是从最新的HR政策中提取的。那么我如何确保做到这一点?以及我如何确保我的向量数据库不是一个地雷,它会提取任何信息,但我们却不一定有能力控制提取正确的信息?这又回到了检索评估的问题,这也是一个热门话题。
Robert Caulk:没错。是的,我认为这是问题的一个关键部分。现在,在那个特定的例子中,也许你真的需要去清理一下你的数据库,只是为了确保如果它确实是你以后再也不会需要的东西。你就必须把它清除掉。这是我没有加到演示文稿中的一部分,但它是相关的。你必须维护多个数据库,并且必须确保隔离资源并清理数据库,特别是在实时环境中。所以要确保你的数据库代表着你想要搜索的内容。如果你愿意,你也可以通过集合来实现这一点。
Robert Caulk:但我们发现有时在这种意义上隔离资源是一个很好的机会,百分之百。
Demetrios:所以,我还有一个问题想问你,我注意到技术栈里有Mongo。你为什么不直接使用Mongo的向量选项?是因为你刚才提到的那种情况吗,就是说,虽然有一体化选项,但为了方便而牺牲了性能?
Robert Caulk:老实说,我们没有测试过那个,所以我无法置评。我只知道我们测试了Weaviate,还测试了另一个,而且我真的很喜欢。虽然我本来想说我喜欢它是用Rust写的,如果我没记错的话,Mongo好像也是用Rust写的。但对我们来说,文档数据库更多地代表了状态和正在发生的事情,特别是对于我们的配置和工作流。同时,我们非常喜欢保留和依赖Qdrant及其所有功能。Qdrant正在更新,所以,是的,我认为单一职责原则是关键。但我看到Qdrant的Discord里有一些关于这个的讨论,如果我没记错的话,使用向量的唯一方法实际上是使用他们的云服务。你知道这个吗?
Demetrios:是的,我也这么认为。
Robert Caulk:这也会是我们无法做到的一个部分。
Demetrios:是的。就像它是开源的,但又不是完全开源,所以这有道理。是的。这太棒了,伙计。所以我鼓励所有正在收听的人,再次查看这个asknews应用程序,并及时了解您所在地区和您喜欢的最相关的新闻。而且我登录了,所以我猜我登录后,它会调整我的设置。我能够...
Robert Caulk:好问题。
Demetrios:下次还能捕捉到这些吗?
Robert Caulk:嗯,目前,如果你给一个故事或一个你觉得有趣的新闻加上星标,你就可以根据星标进行过滤,然后该特定故事的最新更新,你都能收到。好的。这又引出了关于Qdrant的另一点,目前我们还没有这样做,但我们计划使用推荐系统,让用户通过简单地说出自己喜欢什么、不喜欢什么来创建自己的个人资料,然后使用推荐器开始推荐他们可能喜欢或不喜欢的报道。这几乎相当于我们将Qdrant完全外包了。对。我们只是围绕它进行构建。所以这很好。
Demetrios:是的。那会让生活轻松很多,特别是了解推荐系统。是的,那太棒了。
Robert Caulk:谢谢。我很感激。当然。我会尽量提供幻灯片。我不知道能不能把它们发给Qdrant或者别的地方。他们也许可以在Discord上发布,当然可以。
Demetrios:我们可以把它们放在这次讲座描述的链接里。所以这次交流太棒了。Rob,我真的很感谢你来这里和我聊这个,也感谢你详细介绍了你所做的一切。我也很喜欢VllM项目。它正在迅速发展。很高兴看到它有这么多用途,以及你用它做的所有好事。是的,伙计,对于任何想关注你旅程的人,我们会留下你的领英链接,以便他们可以与你联系,然后...
Robert Caulk:好的。
Demetrios:谢谢。
Robert Caulk:谢谢邀请。Demetrios,再见。
Demetrios:回头见,伙计。保重。