Denser Retriever: 企业级AI检索器,轻松构建RAG应用和聊天机器人(已开源)

   日期:2024-12-26    作者:xium 移动:http://mip.riyuangf.com/mobile/quote/35065.html

Denser Retriever是一个企业级AI检索器,将多种搜索技术整合到一个平台中。在MTEB数据集上的实验表明,可以显著提升向量搜索(VS)的基线(snowflake-arctic-embed-m模型, 在MTEB/BEIR排行榜达到了最先进的性能)。

Denser Retriever: 企业级AI检索器,轻松构建RAG应用和聊天机器人(已开源)

它来自Denser.ai公司,创始人是黄志恒,曾担任 AWS 首席科学家,领导 Amazon Kendra 和 Amazon Business Q 项目,现在他将自己对深度学习和 NLP 的热情投入到 Denser,旨在通过自己丰富的专业知识推动创新和生产力。Denser Retriever是完全开源,您可以使用其构建自己专属的RAG应用和聊天机器人。

检索增强生成 (RAG) 是将检索模型与生成模型结合起来,以提高生成内容的质量和相关性的一种有效的方法。RAG 的核心思想是利用大量文档或知识库来获取相关信息。各种工具支持 RAG,包括 Langchain 和 LlamaIndex。

AI Retriever 是 RAG 框架的基础,确保 AI 应用中的准确和无缝体验。Retriever 大致分为两类:关键词搜索和向量搜索。关键词搜索依赖于关键词匹配,而向量搜索则关注语义相似性。流行的工具包括用于关键词搜索的 Elasticsearch 和用于向量搜索的 Milvus、Chroma 和 Pinecone。

在大语言模型时代,从工程师和科学家到市场营销等各个领域的专业人士,都热衷于开发 RAG AI 应用原型。像 Langchain 这样的工具对此过程至关重要。例如,用户可以使用 Langhian 和 Chroma 快速构建一个用于法律文档分析的 RAG 应用。

DenserAI 团队推出的 Denser Retriever 在快速原型设计方面表现突出。用户可以通过一个简单的 Docker Compose 命令快速安装 Denser Retriever 及其所需工具,从而构建自己的RAG应用。同时还提供了自托管解决方案,支持企业级生产环境的部署。

此外,Denser Retriever 在 MTEB 检索数据集上提供了全面的检索基准测试,以确保部署中的最高准确性。用户不仅可以享受 Denser Retriever 的易用性,还可以享受其最先进的准确性

Denser Retriever 能做什么

Denser Retriever 的初始版本提供了以下功能

  • 支持异构检索器,如关键词搜索、向量搜索和机器学习模型重排序

  • 利用 xgboost 机器学习技术有效结合异构检索器。

  • 在MTEB检索基准测试上达到最先进的精确度

  • 演示如何使用 Denser Retriever 来驱动端到端应用,如聊天机器人和语义搜索。

  • 提供了详细的开发文档和安装指南。

为什么选择 Denser Retriever

  • 开源承诺:Denser Retriever 是开源的,提供透明性和持续的社区驱动改进机会。

  • 生产就绪:设计用于生产环境的部署,确保在实际应用中的可靠性和稳定性。

  • 最先进的精度:提供最先进的准确性,提高 AI 应用质量。

  • 可扩展性:无论是处理不断增长的数据需求还是扩展用户需求,Denser Retriever 都能无缝扩展以满足要求。

  • 灵活性:该工具适应广泛的应用,并可根据具体需求进行定制,是多种行业的多功能选择。

在这篇文章中,我们将展示如何安装 Denser Retriever,从文本文件或网页页面构建检索索引,并在此索引上进行查询。

由于篇幅限制,本文不会涵盖更多高级主题,如使用自定义数据集训练 Denser Retriever、在 MTEB 基准数据集上进行评估以及创建端到端RAG AI 应用(如聊天机器人)。有兴趣的用户可参考以下资源获取这些高级主题的信息。

Denser Retriever文档

Denser Retriever仓库

设置

安装 Denser Retriever

我们使用 Poetry 安装和管理 Denser Retriever 包。在仓库根目录下使用以下命令安装 Denser Retriever。

 

更多细节可以在 DEVELOPMENT 文档中找到。

安装 Elasticsearch 和 Milvus

运行 Denser Retriever 需要 Elasticsearch 和 Milvus,它们分别支持关键词搜索和向量搜索。我们按照以下指示在本地计算机(例如,您的笔记本电脑)上安装 Elasticsearch 和 Milvus。

要求:docker 和 docker compose,它们都包含在 Docker Desktop 中,适用于 Mac 或 Windows 用户。

  • 手动下载 docker-compose.dev.yml 并保存为 docker-compose.yml,或者使用以下命令。

 
  • 使用以下命令启动服务。
 
  • 或者,我们可以运行以下命令来验证 Milvus 是否正确安装。
 

索引和查询用例

在索引和查询用例中,用户提供一组文档,如文本文件或网页,以构建检索器。然后用户可以查询该检索器以从提供的文档中获取相关结果。此用例的代码可在 index_and_query_from_docs.py 中找到。要运行此示例,请导航到 denser-retriever 仓库并执行以下命令

 

如果运行成功,我们预期会看到类似以下的输出。

 

在接下来的部分中,我们将解释其中的基础过程和机制。

概述

下图说明了 Denser Retriever 的结构,它由三个组件组成

关键词搜索依赖于使用精确关键词匹配的传统搜索技术。我们在 Denser Retriever 中使用 Elasticsearch。

向量搜索使用神经网络模型将查询和文档编码为高维空间中的密集向量表示。我们使用向量数据库 Milvus 和 snowflake-arctic-embed-m 模型,该模型在 MTEB/BEIR 排行榜的各个尺寸变体中均实现了最先进的性能。

ML 交叉编码器重排序器可用于进一步提升上述两种检索方法的准确性。我们使用 cross-encoder/ms-marco-MiniLM-L-6-v2,该模型在准确性和推理延迟之间具有良好的平衡。

配置文件

我们在以下 yam 文件中配置上述三个组件(可在repo中找到)。大多数参数是不言自明的。关键字、向量、重排序的部分分别配置 Elasticsearch、Milvus 和reranker。

我们使用 combine: model 通过一个 xgboost 模型experiments/models/msmarco_xgb_es+vs+rr_n.json)来结合 Elasticsearch、Milvus 和reranker,该模型是使用 mteb msmarco 数据集训练的(有关如何训练此类模型,请参阅训练指南)。

除了模型组合,我们还可以使用linearrank来结合 Elasticsearch、Milvus 和reranker。在 MTEB 数据集上的实验表明,模型组合可以显著提高准确性,优于linear 或 rank方法。

一些参数,例如 es_ingest_passage_bs,仅在训练 xgboost 模型时使用(即查询阶段不需要)。

 

生成 passages (段落)

我们现在描述如何从给定的文本文件(state_of_the_union.txt)构建一个检索器。以下代码显示如何读取文本文件,将文件拆分为文本块并将其保存为 jsonl 文件passages.jsonl)。

 

 passages.jsonl 中的每一行都是一个段落,包含 source、title、text pid(段落 ID)字段。

 

构建 Denser 检索器

我们可以使用给定的 passages.jsonlexperiments/config_local.yaml 配置文件来构建 Denser 检索器。

 

查询 Denser 检索器

我们可以简单地使用以下代码来查询检索器以获得相关段落。

 

每个返回的段落都会接收一个置信分数,以指示它与给定查询的相关性。我们得到类似以下的结果。

 

将所有内容整合在一起

我们将所有代码整合如下。代码也可在 repo 中找到。

 

从网页构建检索器

与上述方法类似,除了段落语料库的生成。index_and_query_from_webpage.py 源代码可以在这里找到。

要运行这个用例,请进入 denser-retriever repo 并运行

 

 如果成功的话,我们希望看到类似以下的内容。

 

进一步阅读

感兴趣的用户可以参考以下有关上述主题的资源。

Denser Retriever文档

Denser Retriever仓库

与我们联系

希望期待您使用Denser Retriever构建属于您自己的RAG应用,如有任何疑问,非常欢迎在Github 仓库中创建issue留下您的问题,或者也可以发邮件到support@denser.ai与我们联系。

如想了解更多关于Denser Retriever的咨询,欢迎阅读我们的博客。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号