RAG 系统中的进展与挑战——Syed Asad | 向量空间讲座
Demetrios Brinkmann
·2024 年 4 月 11 日

“许多向量数据库的问题在于它们运行良好,可扩展。这很常见。问题是它们不易使用。所以我总是使用 Qdrant。”
——Syed Asad
Syed Asad 是一位杰出的人工智能/机器学习专业人士,专注于 LLM 运营和 RAG。他专注于图像处理和大规模向量搜索操作,为该领域带来了丰富的专业知识。他致力于推进人工智能和机器学习技术,在推动创新和解决复杂挑战方面发挥了重要作用。Syed 继续突破人工智能/机器学习应用的界限,为行业不断发展的格局做出了重大贡献。
在 Spotify、Apple Podcast、Podcast addicts、Castbox 上收听本期节目。您也可以在 YouTube 上观看本期节目。
主要收获
提示工程是人工智能的新前沿。让我们了解它在控制人工智能语言模型中的关键作用。在本期节目中,Demetrios 和 Syed 将讨论这一主题。
Syed 还探讨了 Kiwi Tech 的检索增强生成系统和机器学习技术。本期节目展示了人工智能应用在各行各业的挑战和进展。
以下是本期节目的亮点
- 数字家谱: 了解通过与已故亲人的视频互动,将过去带入生活的家谱应用程序项目。
- 多模态混乱: 探索创建能够理解不同口音并克服转录难题的 AI 系统的复杂性——同时还要保持成本效益!
- 完美匹配: 了解语义分块如何彻底改变放射学领域的职位匹配,以及为何正确理解上下文至关重要。
- 夸萨的量子飞跃: Syed 分享了金融聊天机器人 Quasar 的内幕消息,以及使其运转的 AI 魔力。
- 隐私悖论: 深入探讨强大的 AI 成果与维护数据隐私这一基本追求之间始终存在的冲突。
趣闻:Syed Asad 和他在 Kiwi Tech 的团队使用基于 GPU 的方法,结合 GPT-4 开发了名为 Quasar 的 AI 系统,解决了温度控制和减轻幻觉响应等挑战。
节目笔记
00:00 客户寻求引人入胜的多媒体应用程序,而非聊天机器人。
06:03 多模态 RAG 的挑战:口音、转录、成本。
08:18 AWS 信用额度至关重要,但成本很快就会飙升。
10:59 准确的流程至关重要,Qdrant 在搜索方面表现出色。
14:46 拥抱 AI 进行监控和研究。
19:47 寻求关于无效营销模型和解决方案的见解。
23:40 GPT 4 很有用,提示需要跟踪工具
25:28 讨论数据本地化和隐私,倾向于 Ollama。
29:21 幻觉控制和定价是主要担忧。
32:47 DeepEval、AI 测试、LLM、潜力、开源。
35:24 根据用例和大小筛选合适的嵌入模型。
Syed 的更多语录
“Qdrant 易于使用。我培训了团队中专注于 Qdrant 的人员,他们最初使用的是 Weaviate 和 Pinecone。”
——Syed Asad
“现在发生的情况是,我特别从事的客户或项目正在采用更多多媒体或多模态方法。他们希望他们的应用程序或 LLM 应用程序更具吸引力,而不是一个单纯的聊天机器人。”
——Syed Asad
“这就是准确性最重要的地方。在这种情况下,Qdrant 在提供出色的搜索结果方面表现出色。”
——Syed Asad 在《医学图像搜索的进展》中说
文字记录
Demetrios:大家好,你们好吗?我们又回来了,参加另一场向量空间讲座。我今天和你们在一起感到非常兴奋,因为我们将讨论 RAG 和 RAG 系统。从最基本的天真 RAG 到最先进的 RAG,我们都和我们的特邀嘉宾 Asad 一起探讨。我的朋友,你在哪里?他来了。发生什么事了,伙计?
Syed Asad:是的,一切都很好。
Demetrios:太好了,太好了。我知道我们上线前聊过,你目前在印度。你现在已经很晚了,所以感谢你来到这里和我们一起做这件事。对于那些不知道的人来说,你还是 Kiwi Tech 的高级 AI 和机器学习工程师。你能快速为我们介绍一下 Kiwi Tech 是什么吗?
Syed Asad:是的,当然,绝对。Kiwi Tech 实际上是一家软件开发公司,专注于软件开发、iOS 和移动应用程序。现在我们正全面专注于生成式 AI、机器学习和计算机视觉项目。所以我在这里负责 AI 部分。我们这里有很多项目,从基础到高级 RAG,从朴素到视觉 RAG。所以基本上我从早到晚都在做 RAG。
Demetrios:是啊,你摆脱不了它,是吧?伙计,那太棒了。
Syed Asad:到处都是 RAG。就连我以前做的机器学习部分,现在也全部变成了 RAG 工程化的 AI。是啊。机器学习现在只是背景。
Demetrios:是啊,是啊,是啊。很有趣,我理解它的需求,因为人们正在努力寻找如何在公司中利用新的生成式人工智能进展来获取价值。
Syed Asad:是啊。
Demetrios:所以我很想谈谈高级 RAG,考虑到我们的受众。我也很想听听视觉 RAG,因为那听起来非常令人兴奋。我们可以从视觉 RAG 开始吗?你在这方面具体在做什么,以及你的工作内容是什么?
Syed Asad:是啊,绝对。所以最初当我开始工作时,你们可能都熟悉冻结 RAG 的概念,也就是普通和基本的 RAG,它是一个文本检索系统。你只需查询你的数据等等。所以现在发生的是,我正在特别从事的客户或项目更多地采用多媒体或多模态方法。所以这就是正在发生的事情。他们希望他们的应用程序或 LLM 应用程序更具吸引力,而不是一个单纯的聊天机器人。因为。因为如果我们谈论自然语言或普通的英语,我的意思是,通过视频互动或通过照片互动,比如头像生成,任何类似的东西。
Syed Asad:所以这已经变得更受欢迎,并且正在获得更多的人气。如果我具体谈论视觉 RAG。那么我正在从事的项目,比如说,比如说,有一个家族树类型的应用程序,你现在有一个账户。所以,你每天都在录制日常视频,对吗?比如你正在做的任何事情,例如,你正在唱歌,你正在公园里散步,你正在吃任何东西,你正在录制这些视频并上传到那个应用程序。但是你想要什么?比如,你的后代可以进行某种查询,比如我的祖父是什么样的人?我的叔叔是什么样的人?我的朋友是什么样的人。它并不局限于家庭。也可以是朋友。
Syed Asad:总之。这些都是美国的项目,不是印度的项目。好的,所以,你去查询,它会返回一个关于你已经去世的祖父的视频。他已经不在了。你可以看到他说那件事。所以它变得非常引人入胜。所以这就是我目前正在做的视觉 RAG。
Demetrios:我喜欢那个用例。所以基本上,就是我能更接近我的家人,他们可能现在不在我们身边,因为 RAG 可以拉取他们写过的东西。它可以拉取其他家庭成员谈论它的视频。它可以拉取我表弟出生时的视频,那种东西。
Syed Asad:任何东西,从表亲到家人。你可以添加任意数量的家庭成员。你可以让你不在后,任意数量的人访问,就像一种提名或委托一样。所以,我的意思是,实际上,这是一个非常大的项目,涉及多个转录模型,视频转录模型。它还涉及数据库,我正在使用 Qdrant,对此感到自豪。因此,在这种情况下,Qdrant 正在无缝运行。所以,我的意思是,最终会有一个向量搜索,但在后台更多的是视觉 RAG,人们希望通过视频和照片进行交流。
Syed Asad:所以这正在更多地进入人们的视野。
Demetrios:那么,跟我谈谈多模态 RAG。我知道这有点棘手,因为如果你试图用视频进行向量搜索,它可能比单纯用文本进行向量搜索更复杂,对吗?那么,在多模态 RAG 方面,你遇到过哪些独特的挑战?
Syed Asad:处理多模态 RAG 的第一个挑战实际上是口音,因为口音可能各不相同。转录的问题之一,我面临的挑战之一是缺乏合适的转录模型,如果你能够获得一个合适的转录模型,那么,如果我想将该模型部署到云端,比如说 AWS 云端。那么 AWS 云端会非常昂贵。所以管理基础设施是其中一部分。我的意思是,我是在一个高度可扩展的生产环境中讨论,而不是在一个研究环境中,你可以在协作笔记本上做任何事情并继续下去。所以当涉及到客户部分或交付部分时,它变得更加关键。甚至有这样的情况,我们不得不完全彻底改革整个方法,而这种方法在我们开发环境(比如 OpenAIs Whisper)上运行时非常出色。
Syed Asad:我们从 OpenAI 的 Whisper 开始。它运行良好。转录效果非常好。但是我们无法将其投入生产。
Demetrios:因为词错误率太高,还是因为它太慢了?是什么原因导致它无法投入生产?
Syed Asad:是的,词错误率也高。当它部署在 AWS 实例上时,速度非常慢。而且,成本也是一个问题,因为通常这些是初创公司或中型初创公司,如果我从商业角度而不是技术角度来看。所以这些公司通常免费提供这类服务,并根据这些服务试图筹集资金。所以他们想要一些实际上能够优化成本的东西。所以我个人觉得,尽管 AWS 具有大规模可扩展性,但我根本不喜欢 AWS,除非出现其他各种选项,比如 Salad。我打过电话,也和 Titan Machine Learning 有过一些交流,但它也很好。但 Salad 是目前最好的之一。
Demetrios:是啊。除非你从初创公司计划中获得免费的 AWS 积分,否则它会很快变得非常昂贵。即使你确实有免费的 AWS 积分,它仍然会很快变得非常昂贵。所以我理解你所说的,基本上它是不可用的,因为成本以及无法弄清楚它更多的是一个产品问题,如果你能弄清楚如何正确地将其货币化。但随后你遇到了技术问题,比如词错误率非常高,速度和延迟简直难以忍受。我可以想象。所以除非有人提出查询,并且他们愿意坐几分钟等待查询结果返回,无论是视频还是文档,无论是什么。这是我理解的吗?再说一次,这是针对你正在谈论的家谱用例。
Syed Asad:是的,家谱用例。所以在那种情况下发生的事情是,视频被上传,它会先发给管理员进行批准。所以我的意思是,你可以,这就是我们,他们在限制项目的成本部分。这是因为你不能上传任何随机视频,他们会选择。所以有一些审核,当管理员批准这些视频时,这些视频会进入转录管道。它们通过视频转文本模型进行转录,比如 OpenAI 的 Whisper。所以最初发生的是,所有的研究都是用 OpenAI 完成的,但最终部署时,我们不得不使用 Deepgram 和 AssemblyAI。在这方面,这些模型的表现比 OpenAI 好得多。
Syed Asad:我是开源模型的忠实拥护者,所以我也会尝试利用它们,但它在生产环境中并不是很有效。
Demetrios:太棒了。所以你有那个,那是你的一个用例,对吧?那是非常多模态的 RAG 用例。你的所有用例都是多模态的吗,还是你还有其他用例?
Syed Asad:不,并非所有都是多模态的。有一些是多模态的,也有一些是基于文本的朴素 RAG。所以,比如说,有一个用例是关于求职的,针对放射科的求职。我的意思是,一个非常专业的客户。他们正在进行某种职位匹配,匹配模式和程序。这是一种临时工作。比如,你有两个班次准备好,两个班次开始,就这些。
Syed Asad:所以,当有人把他们的程序或是什么填进去的时候,这就变得非常关键了。比如说,他们擅长 X 射线,擅长某种医疗程序,而这与雇主的要求相符。这就是准确性最重要的地方。在这种情况下,Qdrant 在提供出色的搜索结果方面表现出色。另一方面,在这种情况下,也存在一些与结果质量相关的挑战。所以,从冻结 RAG 发展到高级 RAG,比如采用重新排名、语义分块等方法。我开始使用语义分块。
Syed Asad:就结果质量而言,它已被证明非常有益。
Demetrios:好吧,告诉我更多。我正试图理解这个用例以及 RAG 在职位匹配方面的作用。医生有专长,他们知道,好吧,他们可能是骨科医生,擅长某种类型的手术,然后有不同的工作上线。他们需要与这些不同的工作匹配。那么 RAG 在哪里发挥作用呢?因为它似乎可以用机器学习而不是人工智能来解决。
Syed Asad:是的,它可以通过机器学习解决,但是他们发布的模态类型,比如说,工作的类型太专业了。所以它需要某种上下文匹配。这就是 RAG 的用例。在这个地方,需要上下文匹配。最初,机器学习方法被提上日程,但它没有奏效。
Demetrios:我明白了,我明白了。现在告诉我。你刚才说在这个用例中准确性需要非常高,这真的很重要。除了,我想你说的是分块,观察你如何分块,你还采取了哪些其他方法来确保准确性很高?
Syed Asad:我的意思是,就准确性而言。我所做的是,我关注的是嵌入模型,实际上当我开始使用什么类型的嵌入模型时。所以我的团队最初使用现成的开源模型在 Hugging Face 上,查看一些排行榜指标,一些专门从事医疗数据(比如)的模型,所有这些。但我甚至很好奇,专门从事医疗数据的大型语言嵌入模型,它们也没有返回好的结果,而且它们不匹配。当,当有表格格式时,我创建了一个可视化,比较了各种模型的余弦相似度。所以在 Cohere 出现之前,所有模型都落后了。Cohere 的重新排序器。在这种情况下它们是最好的,尽管它们没有经过训练。
Syed Asad:只需一个 API 调用,而无需将整个模型加载到本地。
Demetrios:有趣。好的。那么你有没有做过特定类型的,所以你的 Cohere 重新排序器给了你很大的提升。你有没有对输出进行任何形式的监控,或者对输出进行评估?如果做了,是如何做的?
Syed Asad:是的,为了评估和监控,我们直接使用 Arise AI,因为我是 Llama Index 的忠实拥护者,因为它使一切都变得比 LangChain 容易得多。我的意思是,如果我谈论我的个人偏好,而不是任何偏见,因为我与任何人都没有关联,我在这里不是在推广它,但它们拥有我喜欢 Llama Index 的最佳之处,以及我为什么使用它,那就是任何在新的研究中出现的东西,比如说,最近的一篇研究论文是关于 Microsoft 发布的 RAG(检索增强微调)的,它现在可以在 ArXiv 上找到。仅仅几天后,他们就将其实现到库中,你就可以直接开始使用它,而无需创建自己的结构。所以,是的,所以它。所以我的一个部分是,我首先阅读研究论文,然后得出结果。所以实际上在选择模型时需要一种基于研究的方法,因为每天 RAG 都在发生新的进展,你无法弄清楚什么对你来说是好的,你也不能整天进行试错。
Demetrios:是的,这是一个很好的观点。那么,如果我们分解你的技术栈,它看起来像什么?你正在使用 Llama index,你正在使用 Arise 进行监控,你正在使用 Qdrant 作为你的向量数据库。你有,你有 Cohere 重排器,你正在使用 GPT 3.5。
Syed Asad:不,是 GPT 4,不是 3.5。
Demetrios:你需要使用 GPT 4,因为其他的都不够好。
Syed Asad:是的,因为上下文长度是其中最重要的一个方面。但是关于我们的生产环境,在过去的一个半月里,我一直在使用 Mixtral。我一直在使用,因为 RAG 还有一个挑战,因为我再举一个例子。我还会说出项目名称,因为公司允许我这样做。这是一个名为 Quasar Markets 的大型项目。它是一家美国公司,他们实际上正在创建一个金融市场类型的聊天机器人。
Syed Asad:Q-u-a-s-a-r,夸萨。你也可以搜索它,他们还为你提供访问各种公共数据库的权限,以及一些付费数据库。他们有一个会员计划。所以我们完全处理前端和后端。我没有处理前端和后端,我处理的是人工智能部分。所以其中一个挑战是推理时间,用户在访问数据库时获得查询的时间。比如说,有一个公开可用的数据库,美国政府的 Fred。所以用户可以在该应用程序中选择 Fred 数据库,并想问一些关于它的问题。
Syed Asad:所以在这个地方没有向量,也没有向量数据库。它是在没有这些的情况下运行的。所以我们遵循一些关键词方法。我们提取关键词,将查询分类为简单或复杂,然后再次命中数据库,将其发送到实时 API,获取结果。所以有多次命中正在发生。那么发生了什么?所有这些多次命中都在发生。它们减少了时间,我的意思是,用户体验受到了严重影响,因为检索时间增加了,用户,如果你进行任何查询并输入任何查询,它会在大约 1 分钟内给你结果。你不会等待 1 分钟才能获得结果。
Demetrios:完全不会。
Syed Asad:所以这是基于 GPU 方法的挑战之一。在后台,一切都在 GPT 4 上运行,甚至不是 3.5。我的意思是,最昂贵的。
Demetrios:是的。
Syed Asad:所以,我从 LPU 方法开始,Grok。我的意思是,它太神奇了。
Demetrios:是的。
Syed Asad:我最近几天一直在实施 Grok,它简直是魔法。聊天机器人运行速度快如闪电,但也有一些缺点。你无法控制温度,如果你对幻觉的控制较少。这是我面临的挑战之一。所以这就是为什么我现在无法将 Grok 部署到生产环境。因为幻觉是客户关注的问题之一。对于任何拥有自己数据的 RAG 或 AI 的人来说,他们都不希望 LLM 具有创造性。所以这是一个挑战。
Syed Asad:所以我发现,尽管目前市场上有许多工具日新月异,研究也越来越多。但我们所看到的大部分东西,或者说更多的东西,都像是一种营销噱头。它们实际上并没有在实践中发挥作用。
Demetrios:告诉我,多告诉我一些。你还尝试过哪些不起作用的东西?因为我也有同感。我见过它,我也见过一些人,他们基本上是为了营销目的而发布模型,而不是实际有价值的模型。所以有哪些?我的意思是,了解 Grok,以及它擅长什么,以及它的一些缺点,这真的很有用。感觉这种控制温度旋钮的能力,以及试图减少幻觉的想法,在不久的将来是可以解决的。所以也许只是几个月的时间,我们现在不得不处理这种事情。但我很想听听你还尝试过哪些你在刷 Twitter 或 LinkedIn 时觉得它们会很棒,但结果却不是那样的东西。
Syed Asad:我要说出它们的名字吗?
Demetrios:请。这样我们都知道不必在它们身上浪费时间了。
Syed Asad:我从 OpenAI 开始。客户不喜欢在他们的产品中使用 GPT 4,仅仅因为主要考虑是成本。其次是数据隐私。第三是,我的意思是,我从客户的角度而不是技术栈的角度来说。
Demetrios:是的,是的,是的。
Syed Asad:他们认为 OpenAI 更像是一种营销噱头。尽管 GPT 4 效果很好。我,我清楚这一点,但客户不赞成。但事实是,我确实同意 GPT 4 仍然是目前 LLM 的王者。所以他们别无选择,别无选择来获得更好的结果。但就幻觉而言,Mixtral 表现非常好。只需在 Python 代码中将参数温度设置为零并不能消除幻觉。这是我的一个主要收获。
Syed Asad:我一直在绞尽脑汁。我举个例子,一个聊天机器人。有一个用例,是一家大型出版公司。我现在不能说出那家公司的名字。他们希望将过去 20 到 25 年的整个图书系统都转换成一个 RAG 管道。然后人们就开始查询。
Syed Asad:我遇到的基本问题是处理“你好”。当用户输入“你好”时,它。
Demetrios:给你一本书。
Syed Asad:它甚至会给你一本书。有时它会给你“你好,我是某某某。”然后又是一些信息。你在提示中写了什么,它都会给你。我会根据这个回答。我会根据这个回答。所以,即使代码中的温度是零,所以,这包含了大量的提示工程。
Syed Asad:所以我认为提示工程是未来最重要、最受欢迎的技能之一。如果有人擅长提示工程,我的意思是,他们可以控制 LLM 的行为方式,因为它表现得很奇怪。就像在这个用例中,我使用了 Grok 和 Mixtral。为了以这种方式控制 Mixtral。这是一项非常艰巨的工作,尽管最终我们成功了,但在提示工程方面,这是一项非常艰巨的工作。
Demetrios:这是 Mixtral 大模型吗?
Syed Asad:Mixtral,七位,八乘七位。
Demetrios:是的,我的意思是,是的,这是你必须处理的权衡。而且它根本没有经过微调。
Syed Asad:不,没有进行微调,因为我们正在构建一个 RAG 管道,而不是一个微调的应用程序,因为目前,目前,即使客户也不对微调模型感兴趣,因为它会花费他们,他们更对上下文,就像 RAG 上下文管道感兴趣。
Demetrios:是的,是的。有道理。所以基本上,这非常有用。我想我们都明白,我们也都知道,如果可以的话,GPT 4 表现最好。我们想尽快摆脱它,看看我们能走多远,或者我们能在难度谱系上走多远。因为一旦你开始摆脱 GPT 4,你就会遇到那些问题,比如,好吧,现在它似乎幻觉更多了。我该如何解决这个问题?我该如何提示它?我该如何调整我的提示?我该如何拥有大量的提示模板或提示套件来确保事情顺利进行?那么你有没有使用任何工具来跟踪提示?我知道有很多。
Syed Asad:我们最初使用参数高效微调来处理提示,但没有什么能 100% 有趣地奏效。没有什么能 100% 奏效。就提示而言,最终都会进行试错。在进行提示工程时,浪费了大量时间。即使你遵循 Hugging Face 上或模型卡上给出的确切提示模板,它也会在一段时间后表现出来。
Demetrios:是啊,是啊。
Syed Asad:但是混合模型表现非常好。非常非常好。Mixtral 8x7 bits。这非常好。
Demetrios:太棒了。
Syed Asad:摘要部分非常强大。它给出的响应与 GPT 4 不相上下。
Demetrios:好的。你不需要处理客户遇到的任何数据问题。
Syed Asad:是的,我正要谈到那个。所以下一个部分是数据问题。他们现在或将来都希望 LLM 本地化。我一直在使用 Llama, CPP 和 Ollama 轻松地做到这一点。现在,Ollama 非常好。我的意思是,我目前是 Ollama 的忠实粉丝,它在本地化和数据隐私方面表现非常好,因为,因为最终你销售的是什么,它会使事情变得,我的意思是,最终是销售。所以即使客户拥有客户数据,他们也想让客户相信数据是安全的。
Syed Asad:所以这仅限于本地化。所以他们想逐步进入那个领域。所以我想在这里提几点。总结一下我所说的,LLM 的本地化是目前的一个担忧,这是一个巨大的市场。其次是模型的量化。
Demetrios:哦,有趣。
Syed Asad:在模型量化中,无论什么。我使用 bits and bytes 执行标量量化和二进制量化。我还尝试了其他各种技术,但 bits and bytes 是最好的。标量量化表现更好。二进制量化,我的意思是,最大压缩或最大有损函数在那里,所以它不是,它,它给出了糟糕的结果。标量量化运行得非常好。它也可以在 CPU 上运行。它给你很好的结果,因为我们目前拥有的项目,甚至在市场上,它们目前没有大量的数据,但它们最终会扩展。
Syed Asad:所以他们现在想要一些东西,这样量化就起作用了。所以量化是其中一个问题。人们想避开 AWS,他们不想去 AWS,但它就在那里。他们别无选择。所以这就是为什么他们想要 AWS。
Demetrios:那是因为成本锁定吗?
Syed Asad:是的,成本是主要部分。
Demetrios:是的。他们明白,如果你使用 AWS 并开始使用不同的服务,事情会很快失控。我认为还值得注意的是,当你使用 AWS 上的不同服务时,它可能是一个非常相似的服务。但是如果你使用 AWS 上的 Sagemaker 端点,它比 EKS 端点贵得多。
Syed Asad:对于初创公司来说,仅 GPU 的最低成本是最低 450 美元。最低。即使在测试阶段或开发阶段,甚至在投入生产之前,也要 450 美元。这也会给客户带来损失。
Demetrios:哇。是啊。是啊。所以这也包括了尝试使用像 Tranium 或 Inferentia 这样的东西。你了解那些服务吗?
Syed Asad:我知道那些服务,但我还没有真正尝试过。我目前正在尝试 Salad 进行推理,它们现在非常非常便宜。
Demetrios:好的。好的。酷。那么,如果你能挥舞魔杖,让你的工作,你的日常工作有所不同,特别是你做了很多 RAG,很多不同类型的 RAG,很多不同的 RAG 用例。你认为你的表现会得到最大的提升,你的能力会得到提升,让你能够做你需要做的事情?RAG 如何才能发生根本性的改变?是你说的,哦,幻觉。如果我们不必处理这些,我的生活就会轻松很多。我不需要处理提示,我的生活就会无限轻松。五年后,你想看到这个领域变成什么样?
Syed Asad:是的,你猜对了。幻觉是客户在使用 RAG 时最关注的问题之一,因为我们在 LinkedIn 和其他地方看到的情况,会让你觉得它能控制幻觉,并给你这样的答案:正如上下文中所述,我对此一无所知,但当你在生产环境中时,情况并非如此。它会给你这样的信息:你正在为一家出版公司开发一个 RAG,它会告诉你。纽约怎么样?它也会给你关于这个的信息,即使你已经有了控制和所有的一切。所以这是 RAG 方面需要减轻的事情之一。定价是目前最大的问题,因为在推理方面市场上玩家很少,他们正在以自己的价格主导市场。所以这是痛点之一。
Syed Asad:还有。我还想强调一下流行的向量数据库。有很多 Pinecone、Weaviate 等等。它们实际上,许多向量数据库的问题是它们运行良好。它们是可扩展的。这很常见。问题是它们不易使用。所以我总是使用 Qdrant。
Syed Asad:不是因为 Qdrant 赞助我,也不是因为我为 Qdrant 工作,而是因为 Qdrant 易于使用。而且,我培训了团队中专门使用 Qdrant 的人员,他们最初使用的是 Weaviate 和 Pinecone。我的意思是,你也可以将向量存储在那些数据库中,但它不是,特别是,特别是 Qdrant 最近发布了 Fast Embed,它极大地简化了我的工作,因为它使用了 ONNX 方法而不是 Pytorch 方法,因为有一个项目,我们正在 AWS 服务器上部署嵌入模型,它一直在运行。最低的内存利用率是 6GB。即使它没有进行任何向量嵌入,Fast Embed 也是如此。所以 Qdrant 正在发挥巨大作用,我应该承认它们。还有一件事我不想用的是 LangChain。
Syed Asad:我一直在用它。所以。所以我不想用那种语言,因为它对我来说没有任何用处,尤其是在生产环境中。它在研究阶段有用。当您发布任何笔记本时,比如说您已经完成了这个和那个。它不是。它在生产中运行不佳,特别是对我而言。Llama index 运行良好,效果很好。
Demetrios:你没玩过别的吗?比如 Haystack。
Syed Asad:是的,Haystack。我一直在玩 Haystack,但是 Haystack 缺乏功能。我得说它运行良好,但是它缺少一些功能。他们需要添加更多的东西,与 Llama index 相比。
Demetrios:当然,目前最火的是 DSPY,对吧?你玩过那个吗?
Syed Asad:DSPy,实际上 DSPy。我玩过 DSPy。但是现在 DSPy,我还没有在生产环境中进行实验,只是在研究阶段。
Demetrios:是的。
Syed Asad:所以,关于评估部分,DeepEval,我听说你可能有一个 DeepEval。所以我一直在用它。因为其中一个挑战是 AI 的测试。大型语言模型生成什么样的响应,传统的测试人员或手动测试软件,他们实际上不知道。所以还有一个垂直领域正在等待开发,那就是 AI 的测试。它有巨大的潜力。而 DeepEval,基于 LLM 的测试方法非常有效,而且也是开源的。
Demetrios:那是 DeepEval 我没听过。
Syed Asad:我来告诉你确切的拼写。是。对不起。是 DeepEval。D E E P. Deep eval。我可以。
Demetrios:是的。好的。我知道 DeepEval。好的。是的,当然。好的。我不知为何理解成了 D Eval。
Syed Asad:是的,我发音错了。
Demetrios:好的。所以这些是你最喜欢和最不喜欢的。很高兴知道这些。听到所有这些真的很棒。在我们结束之前,你还有什么想说的吗?你有什么可以传授给我们的关于你的 RAG 系统,以及你如何通过艰难的方式学习的智慧?所以告诉我们,这样我们就不必那样学习了。
Syed Asad:不要被市场营销所迷惑。不要被市场营销所迷惑。做你自己的研究。Hugging Face 是一个很好的,我的意思是,简直太棒了。排行榜,尽管并非所有东西都在排行榜上有效。比如说,我不知道今天和明天,今天和昨天,但 Salesforce 有一个模型,Salesforce 的嵌入模型。我认为它仍然在 MTEB 排行榜上名列前茅,在嵌入模型方面。
Syed Asad:但你不能在生产中使用它。它太庞大了,无法实现。那有什么用呢?Mixture Bread AI。Mixture Bread AI,它们非常轻量级,而且它们运行良好。它们甚至不在排行榜上。它们曾经在排行榜上,但现在可能没有。当我看到它们在 MTEB 排行榜上排名第七或第八时,它们运行良好。所以即使在排行榜上,它也不起作用。
Demetrios:现在感觉有点像,尤其是在嵌入模型方面,你只是随便看看排行榜,然后闭上眼睛,从中选择一个。你有没有找到更好的测试这些模型的方法,还是你只是找到一个,然后尝试在所有地方使用它?
Syed Asad:不,不,情况并非如此。实际上,我所做的是,我需要先找到嵌入模型。尝试根据我的用例找到嵌入模型。比如,如果它是一个针对医疗用例的嵌入模型。所以我会尝试找到它。但是筛选的第二个因素是该嵌入模型的大小。因为最终,如果我使用该嵌入模型进行整个 POC 或整个研究,结果是什么?我曾经遇到过这样的情况,我们用嵌入模型、大型语言模型进行了整个研究,然后我们不得不在生产部分全部移除,一切都化为乌有。
Syed Asad:所以一个轻量级的嵌入模型,特别是最近开始工作的那个,是 Cohere 嵌入模型,它们提供了一个以量化格式调用这些嵌入模型的工具。所以这也正在工作,而且速度很快。Fast Embed 是 Qdrant 的一个产品,这两者都在生产中运行。我指的是生产,研究的话你可以做任何事情。
Demetrios:太棒了,伙计。这真是太棒了。Asad,非常感谢你来这里,也欢迎其他想参加向量空间讲座的人联系我们。在此期间,请不要在向量空间中迷失方向。我们稍后见。祝大家下午好,早上好,晚上好,无论你在哪里。
Demetrios:阿萨德,你教了我很多,兄弟。谢谢你。