分享好友 最新动态首页 最新动态分类 切换频道
Denser Retriever: 企业级AI检索器,轻松构建RAG应用和聊天机器人(已开源)
2024-12-26 09:31

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的咨询,欢迎阅读我们的博客。

最新文章
静脉曲张投放广告怎么运营,百度搜索广告怎么开户
静脉曲张投放广告怎么运营,百度搜索广告怎么开户想要开户推广投放代运营广告主可拨打电话或加微信(手机号码同步微信)洽谈沟通合作添加请注明来意李四多年丰富的市场经验及把握各行业成功案例坚信我们都知道,想运用百度搜索广告就务必先
天和理论报告库:制造业转型升级势头强劲
中央经济工作会议提出,以科技创新引领新质生产力发展,建设现代化产业体系。制造业是现代化产业体系的重要支撑,今年前10个月全国规模以上制造业增长5.9%,装备制造业、高技术制造业支撑明显,制造业“压舱石”作用不断增强,工业产业结构
边缘计算在物联网部署中的角色与优化
航空物流全球市场研究报告:2023年年复合增长率为6.3%在全球经济一体化的大潮中,航空物流行业如同一座桥梁,连接着世界的每一个角落,驱动着全球贸易的飞速发展。从高价值商品的快速流通到紧急物资的跨国运输,航空物流以其高效、准时、可
谈谈Android 安全策略SElinux
不积跬步无以至千里,补全自己的短板,完善体系,站在巨人的肩膀上,看到的更远,写这篇文章也算是对这个知识点的总结。 一,背景 SElinux出现之前,Linux上的安全模型叫DAC(Discretionary Acce
详细分析关键词优化步骤,提升网站流量与用户体验
随着互联网的快速发展,搜索引擎(SEO)已经成为企业提升网站流量、品牌知名度和用户口碑的重要手段。而优化作为SEO的核心策略之一,更是备受关注。本文将深度解析关键词优化策略,旨在帮助企业和网站管理者提升网站流量与用户体验。一、关
申请“百度短剧”商标!百度回应:短剧是当前内容生态的一个重点发展方向
  近日,百度在短剧领域又有新动作,注册了“百度短剧”商标,引起了业界的广泛关注。  “百度短剧”来了  天眼查知识产权信息显示,百度在线网络技术(北京)有限公司申请注册“百度短剧”商标,国际分类为网站服务、科学仪器、教育
苹果手机内存清理秘籍,一键优化,告别卡顿!
本文将为苹果手机用户详细介绍如何高效清理手机内存垃圾,提升设备运行流畅度。针对苹果手机内存清理,以下是一些实用技巧:1、利用系统自带功能清理缓存:苹果手机内置的“设置”应用中,有一个“通用”选项,点击进入后选择“iPhone储存
高质量音频格式转换工具Free YouTube To MP3 Converter v4.4.20.1212中文高级破解版
Free YouTube To MP3 Converter 是一款高质量音频格式转换工具,包括 MP3、AAC、OGG、M4A、FLAC 和 WAV,适用于 PC、Mac 和 Android 设备,并具备无限制批量下载、合并音频文件和直接转移到 iTunes 的功能。
零成本搭建个人全攻略,建设秘诀
本文揭秘零成本打造个人的全攻略,详细介绍了如何搭建,无需任何前期投入。从选择到设计、内容发布,一步步指导,助您轻松拥有属于自己的空间。挑选理想的建站域名与挑选指南搭建全解析优化与推广策略在化时代,建立一个个人成为了许多人展
相关文章
推荐文章
发表评论
0评