PaddlePaddle / RocketQA

🚀 RocketQA, dense retrieval for information retrieval and question answering, including both Chinese and English state-of-the-art models.
Apache License 2.0
767 stars 128 forks source link

提供基于 Elasticsearch 的示例 #67

Closed RussellLuo closed 2 years ago

RussellLuo commented 2 years ago

很棒的项目,先赞一个 👍

请问本项目有打算提供基于 Elasticsearch 的示例吗?Elasticsearch 是业界广泛使用的开源搜索引擎,它 从 7.3 开始支持向量检索,当前已经支持 kNN search。对于大多数公司而言,使用 Elasticsearch 进行向量检索的核心优势是 运维零成本,因为都是现成的中间件。

procedure2012 commented 2 years ago

RocketQA就是希望能提供一个替代ES的更好选项,在对整个训练流程进行优化后,在MS MARCO测试集上整体指标和语义理解能力上是优于ES的。 目前RocketQA使用到的中间组件也都是现成的,配合Faiss或JINA可以快速使用,没有额外成本。不过作为一个新生项目,在易用性和维护上距离ES这类已经很成熟的开源项目确实有一定差距,我们会持续开发并提供各种支持。

RussellLuo commented 2 years ago

谢谢回复!

我这里提到的 ES,是指作为向量搜索工具( Faiss 和 JINA)的另一个候选项,整体还是使用 RocketQA 的「召回」和「排序」流程。因为 Faiss 和 JINA 对于大多数公司而言是比较新的工具,用在生产环境会引入新的运维成本,而 ES 基本都是现成的(虽然之前主要用于 “关键词+倒排搜索”,但是现在也支持 “向量搜索” 了)。

procedure2012 commented 2 years ago

这个暂时还没有计划,不过感谢提供思路😉我们会在后续计划中讨论对ES检索的支持

RussellLuo commented 2 years ago

收到。

PS:发起问题后,周末我自己研究了下,已经成功将 RocketQA 接入 ES;如果有需要的话,我可以提供出来(类似新增一个 examples/es_example 示例)😄

procedure2012 commented 2 years ago

好啊,欢迎提交修改👏可以直接pull request

RussellLuo commented 2 years ago

好的,我稍微整理下代码,尝试提交一个 PR :)

RussellLuo commented 2 years ago

PR 已提交,方便的时候帮忙 Review 下,谢谢!