作者:来自 Elastic Shubha Anjur Tupil
几分钟内即可开始使用 Elastic Rerank 模型:强大的语义搜索功能,无需重新索引,提供灵活性和成本控制;高相关性、顶级性能和文本搜索效率。
使用我们全新的先进跨编码器 Elastic Rerank 模型(技术预览版),将你的搜索体验提升至 11 级。重新排名模型可为任何搜索体验提供语义提升,而无需你更改数据架构,让你有空间在自己的时间和预算范围内探索其他语义相关性工具。
语义提升你的关键字搜索:无论你的数据今天存储、索引或搜索的位置或方式如何,语义重新排名都是一个简单的附加步骤,可让你通过语义理解提升现有的搜索结果。你可以根据需要灵活地应用此功能 - 无需更改现有数据或索引管道,并且你可以使用 Elastic 基础模型作为你的首选。
适合任何预算的选择灵活性:所有搜索体验都可以通过添加语义含义来改善,这通常通过使用密集或稀疏向量模型(例如 ELSER)来应用。但是,实现相关性目标并不需要一刀切的解决方案,而是需要混合搭配工具来平衡性能和成本。混合搜索就是这样一种选择,它通过使用 Elasticsearch 中的倒数排名融合 (reciprocal rank fusion - RRF) 将语义搜索与关键字搜索相结合来提高相关性。Elastic Rerank 模型现在是代替语义搜索增强搜索相关性的额外杠杆,让你可以灵活地优化相关性和预算。
我们最初在 serverless 上提供,但现在在 Elasticsearch 8.17 的技术预览版中可用,我们的模型的优势超过了当今市场上的其他模型。
高性能和高效:Elastic Rerank 模型优于其他明显更大的重新排名模型。它基于 DeBERTa v3 架构构建,并通过对多样化数据集的提炼进行了微调。我们的详细测试表明,在广泛的检索任务上提升了 40%,在问答数据集上提升了高达 90%。
相比之下,Elastic Rerank 模型在相关性方面明显更胜一筹,甚至与更大的模型相当。在我们的测试中,一些模型(例如 bge-re-ranker-v2-gemma)在相关性方面最接近,但在参数数量方面则大一个数量级。话虽如此,我们在 Open Inference API 中提供了集成,以便访问其他第三方重新排序程序,因此你可以轻松测试并亲自查看。
易于使用
Elastic Rerank 模型不仅具有出色的性能和成本特性,我们还使其非常易于使用,以提高词汇搜索的相关性。我们希望提供易于使用的原语,帮助你快速构建有效的搜索,而无需做出大量决策;从使用哪种模型到如何在搜索管道中使用它们。我们让它易于上手和扩展。
你现在可以将 Inference API 与 text_similiarity_reranker 检索器结合使用 Elastic Rerank。下载并部署后,每个搜索请求都可以处理完整的混合搜索查询,并在一个简单的 _search 查询中对结果集进行重新排序。
1. PUT _inference/rerank/elastic-rerank
2. {
3. "service": "elasticsearch",
4. "service_settings": {
5. "model_id": ".rerank-v1",
6. "num_allocations": 1,
8. "num_threads": 1
9. }
10. }
将 Elastic Rerank 模型集成到你的代码中非常容易,可以组合不同的检索器以将混合搜索与重新排名相结合。以下是使用 ELSER 进行语义搜索、使用 RRF 进行混合搜索并使用重新排名器对结果进行排名的示例。
1. GET retrievers_example/_search
2. {
3. "retriever": {
4. "text_similarity_reranker": {
5. "retriever": {
6. "rrf": {
7. "retrievers": [
8. {
9. "standard": {
10. "query": {
11. "sparse_vector": {
12. "field": "vector.tokens",
13. "inference_id": ".elser-2-elasticsearch",
14. "query": "Cobrai Kai was a homage to the greatest movie of all time!"
15. }
16. }
17. }
18. },
19. {
20. "knn": {
21. "field": "vector",
22. "query_vector": [
23. 0.23,
24. 0.67,
25. 0.89
26. ],
27. "k": 3,
28. "num_candidates": 5
29. }
30. }
31. ],
32. "rank_window_size": 10,
33. "rank_constant": 1
34. }
35. },
36. "field": "text",
37. "inference_id": "elastic-rerank",
38. "inference_text": "Which show continues the awesomeness of Karate Kid, the 1984 movie?"
39. }
40. },
41. "_source": ["text", "topic"]
42. }
如果你拥有像我这样的有趣数据集,将对人工智能的热爱与 Cobrai Kai 结合起来,你将获得一些有意义的东西。
总结
- 仅限英语的跨编码器模型
- 语义提升你的关键字搜索,几乎不改变数据的索引和搜索方式
- 对与索引和搜索分离的语义提升成本有更大的控制和灵活性
- 重复使用你已经在 Elasticsearch 中拥有的数据
- 显著提高相关性和性能(与明显更大的模型相比,在大量检索任务中平均提高 40%,在问答任务中提高高达 90%,使用超过 21 个数据集进行测试,平均 nDCG@10 提高 +13 分)
- 易于使用,开箱即用;内置于 Elastic Inference API,易于加载和用于搜索管道
- 在我们的产品套件中提供技术预览,最简单的入门方式是使用 Elasticsearch Serverless
如果你想阅读我们如何构建它的所有细节,请访问我们的 Search Labs 博客。
Elasticsearch 包含许多新功能,可帮助你为你的用例构建最佳搜索解决方案。深入了解我们的示例笔记本以了解更多信息,开始免费云试用,或立即在本地机器上试用 Elastic。
更多阅读:介绍 Elastic Rerank:Elastic 的新语义重新排序模型
原文:cRank it up! - Introducing the Elastic Rerank model (in Technical Preview) - Elasticsearch Labs