0

集成 Qdrant 和 LangChain,实现高级向量相似度搜索

David Myriel

·

2024年3月12日

Integrating Qdrant and LangChain for Advanced Vector Similarity Search

“构建 AI 应用程序不必复杂。您可以通过几行代码利用预训练模型并支持复杂的管道。LangChain 提供了一个统一的接口,这样您可以避免编写样板代码,专注于您想要带来的价值。” Kacper Lukawski,Qdrant 开发者布道师

为您的生成式 AI 应用提供长期记忆

Qdrant 的向量数据库因其提高生成式 AI 效率的能力而迅速发展。LLM 本身可以用来构建改变流程的发明。而有了 Qdrant,您可以将这项发明转化为具有实际业务价值的生产级应用程序。

在生成式 AI 中使用向量搜索现在有了一个名称:检索增强生成 (RAG)在我们之前的文章中,我们阐述了为什么 RAG 是 AI 设置的重要组成部分,以及为什么大规模 AI 无法在没有它的情况下运行。许多案例研究解释说,仅使用 LLM 运行 AI 应用程序成本太高且资源密集。

未来,解决方案是利用使用模型和向量数据库的复合系统。

什么是 RAG? 本质上,RAG 设置将 Qdrant 变成了 LLM 的长期记忆存储。作为向量数据库,Qdrant 管理用户数据的有效存储和检索。

向 LLM 添加相关上下文可以大大改善用户体验,从而提高检索准确性、加快查询速度并降低计算使用量。通过向量搜索增强您的 AI 应用程序可以减少幻觉,即 AI 模型产生听起来合理但实际上是虚构的响应的情况。

Qdrant 简化了这种检索增强过程,使其更快、更易于扩展且高效。当您访问大量数据(数百或数千个文档)时,向量搜索有助于您筛选相关上下文。这使得 RAG 成为企业级用例的主要候选者。

为什么选择 LangChain?

检索增强生成并非没有挑战和限制。应用程序开发人员面临的主要挫折之一是管理整个设置。将检索器和生成器集成到单个模型中可能会导致复杂性提高,从而增加所需的计算资源。

LangChain 是一个框架,它使基于 RAG 的应用程序开发变得更加容易。它统一了不同库的接口,包括主要的嵌入提供商(如 OpenAI 或 Cohere)和向量存储(如 Qdrant)。通过 LangChain,您可以专注于创建实用的生成式 AI 应用程序,而不是从头开始编写逻辑。

Qdrant 是 LangChain 上支持度最高的向量存储之一,拥有详尽的文档示例

工作原理: LangChain 接收查询并从嵌入模型中检索查询向量。然后,它将向量分发到向量数据库,检索相关文档。最后,查询和检索到的文档都被发送到大型语言模型以生成答案。

qdrant-langchain-rag

在 LangChain 的支持下,Qdrant 可以帮助您建立有效的问答系统、检测系统和聊天机器人,这些系统充分利用 RAG 的潜力。在长期记忆存储方面,开发人员可以使用 LangChain 轻松地通过 Qdrant 将相关文档、聊天历史记忆和丰富的用户数据添加到 LLM 应用程序提示中。

常见用例

集成 Qdrant 和 LangChain 可以彻底改变您的 AI 应用程序。让我们看看这种集成能为您带来什么

增强自然语言处理 (NLP): LangChain 非常适合开发问答聊天机器人,其中 Qdrant 用于为 LLM 提供上下文和检索结果。我们在我们的文章和 OpenAI 的食谱示例中对此进行了介绍,这些示例使用 LangChain 和 GPT 处理自然语言。

改进推荐系统: 外卖服务在优柔寡断的顾客身上蓬勃发展。企业需要适应多目标搜索过程,顾客通过语义搜索寻求推荐。通过 LangChain,您可以为电子商务、内容共享甚至约会应用程序构建系统。

推进数据分析和洞察: 有时您只想浏览不一定最近但仍然相关的结果。语义搜索帮助用户在在线商店中发现产品。顾客不完全知道他们在寻找什么,但需要一个受限的空间来执行搜索。

提供内容相似度分析: 您的本地新闻门户上是否一直看到相同的推荐?您可能被困在一个相似性气泡中!随着输入变得越来越复杂,多样性变得稀缺,并且强制系统显示不同内容变得更加困难。LangChain 开发人员可以使用语义搜索来开发进一步的上下文。

使用 LangChain 构建聊天机器人

既然您知道 Qdrant 和 LangChain 如何协同工作——是时候构建一些东西了!

跟随 Daniel Romero 的视频,从零开始创建一个 RAG 聊天机器人。您将只使用 OpenAI、Qdrant 和 LangChain。以下是这个基本教程将教给您的内容

1. 如何使用 Qdrant 和 LangChain 设置聊天机器人: 您将使用 LangChain 创建一个 RAG 管道,该管道从数据集中检索信息并生成输出。这将演示单独使用 LLM 与利用 Qdrant 等向量数据库进行内存检索之间的区别。

2. 预处理和格式化数据以供聊天机器人使用: 首先,您将下载一个基于一些学术期刊的示例数据集。然后,您将把这些数据处理成嵌入并将其作为向量存储在 Qdrant 中。

3. 实现向量相似度搜索算法: 其次,您将创建并测试一个只使用 LLM 的聊天机器人。然后,您将启用 Qdrant 提供的记忆组件。这将允许您的聊天机器人被修改和更新,赋予它长期记忆。

4. 优化聊天机器人的性能: 在最后一步中,您将以两种方式查询聊天机器人。第一个查询将从 LLM 检索参数数据,而第二个查询将通过 Qdrant 获取上下文数据。

此练习的目标是表明 RAG 易于通过 LangChain 实现,并且比单独使用 LLM 产生更好的结果。

扩展 Qdrant 和 LangChain

如果您希望扩展并保持相同的性能水平,Qdrant 和 LangChain 是一个坚如磐石的组合。开始使用两者都很容易,并且文档涵盖了广泛的案例。然而,Qdrant 的主要优势在于它可以始终如一地支持用户度过原型设计和发布阶段。

“我们全力以赴地追求性能和可靠性。每次发布我们都让 Qdrant 对用户来说更快、更稳定、更具成本效益。当其他人专注于原型设计时,我们已经为生产做好了准备。很快,我们的用户将构建成功的产品并推向市场。届时,我预计对可靠向量存储的需求会很大。Qdrant 将在那里为 LangChain 和整个社区提供支持。”

无论您是构建银行欺诈检测系统、用于电子商务的 RAG,还是为联邦政府提供服务——您都需要为您的产品利用可扩展的架构。Qdrant 提供不同的功能,帮助您显著提高应用程序的性能并降低托管成本。

阅读更多关于我们如何培养大规模部署的最佳实践

后续步骤

既然您知道 Qdrant 和 LangChain 如何提升您的设置——是时候试用我们了。

我们提供针对您业务需求的额外支持。联系我们以了解更多适合贵公司的实施策略和集成。

免费开始使用 Qdrant

开始使用