文档中心>实践教程>Elasticsearch Service>让企业知识触手可及,乐享基于腾讯云 ES 的 RAG 应用实践

让企业知识触手可及,乐享基于腾讯云 ES 的 RAG 应用实践

最近更新时间:2024-06-26 16:15:41

我的收藏
腾讯乐享利用腾讯云 ES 的一站式文本检索和向量检索混合搜索能力,打造面向企业级知识管理的智能问答模块。通过精准的信息检索、严格的权限管理和全流程的知识管理,帮助企业内部员工和外部伙伴高效挖掘企业和组织的知识金矿。
本文介绍了乐享基于腾讯云 ES 的一站式 RAG 解决方案实现乐享智能问答功能的实践。

腾讯乐享的业务背景和挑战

腾讯乐享是一款集知识管理、企业培训、文化建设于一体的智能化组织学习协作平台,拥有知识库、问答、课堂、考试等功能,旨在帮助企业建立高效灵活的知识共享和流动机制,提升组织能力。
随着大模型技术的发展,乐享看到了前所未有的机会来提升信息获取的效率和准确性,来推动业务模式和服务方式的创新。
然而,乐享也面临着新的挑战,尤其是解决大模型“幻觉”问题,确保数据安全和隐私保护的情况下保证千人千面的回答效果。企业的“私有知识”不能直接用于大模型的预训练和精调,这也对知识管理提出了更高的要求。
如何用大模型这个“新瓶”,来装企业知识管理的“旧酒”,左手客户价值最大化,右手产品体验商业化,便成了乐享团队必须要解决的课题。

什么是 RAG?

随着搜索引擎技术的发展,传统的关键词搜索已无法满足用户需求。RAG(Retrieval-Augmented Generation,检索增强生成)结合向量检索和文本生成,通过检索模型查找相关文档,将其作为生成模型的上下文信息生成准确的答案。这种方法将外部知识与生成模型结合,提升了内容的流畅性和准确性,广泛应用于知识问答、文本摘要和对话生成等场景。

腾讯云 ES 一站式 RAG 解决方案

一站式向量检索能力

基于腾讯云 ES 提供的能力,我们可以直接完成向量生成 > 向量索引/存储 > 向量检索的全流程操作,具体能力如下:
内置开箱即用的 ELSER 语义模型。
支持上传自定义模型或从 Hugging Face 等开源社区直接上传模型。
支持专有机器学习节点,用于向量推理(可选,也可跟数据节点混部)。
支持向量索引(HNSW 算法)、向量存储与 KNN 检索。




独有混合搜索能力

向量搜索尽管可以实现语义查询,但在处理特定字符串如“8XLARGE64”时,可能召回的结果不相关。结合向量搜索和文本搜索的优势,混合搜索通过同时执行文本和向量搜索并融合结果,提升召回率。腾讯云 ES 支持一站式混合搜索,能够在单次查询中同时执行文本和向量搜索,并自动对结果进行排序融合。




倒数排序融合(RRF)

在多路召回中,系统评分机制不同,需要归一化评分来公平比较和融合。腾讯云 ES 内置的倒数排序融合(RRF)算法通过对排名赋予权重,计算各系统排名的倒数之和,生成最终融合排名列表。RRF 的优点包括:
简单性:无需复杂归一化,只需知道每个文档在各系统中的排名。
鲁棒性:对不同评分尺度和分布的敏感性较低。
公平性:通过相同公式赋予权重,确保融合过程公平性。
易于实现:实现相对简单,无需复杂参数调整或训练过程。
适应性:可以适应新的系统或数据,不依赖特定评分机制。

与 LLM 大模型的集成

腾讯云 ES 可与 Langchain 等第三方管道以及 LLM 大模型等无缝集成,帮助构建生成式应用程序。






腾讯云 ES RAG 方案优势

腾讯云 ES 提供的一站式 RAG 解决方案,提供了 RAG 应用范围内的所有功能,超越了传统向量数据库所提供的单点解决方案范围,具体如下:
支持直接上传自定义 embedding 模型,或者 hugging face 上的 embedding 模型,在 ES 内部完成模型管理、部署、数据向量化等。
支持通过文本 + 向量的混合搜索能力,灵活应对各种需求。
支持通过设置文本、向量的权重,甚至字段级别的词权重,进行打分排序,同时也可以直接使用内置的 RRF 能力,直接实现排序融合,后续也支持通过引入 LTR 模型,对粗排结果进行重排,满足不同业务场景的需求。
在某些权限敏感的场景,ES 支持基于角色设置文档设置字段级别的权限管控,精准进行权限控制。



除此之外,RAG 应用一般服务的是在线业务场景,稳定性也是极为重要的一环,腾讯云 ES 支持多副本设置、多可用区部署、CCR 跨集群复制、自动数据备份、弹性伸缩等能力,切实保障在线业务的稳定性。同时,通过智能巡检、多维立体监控告警、审计日志等能力,帮助企业降低运维与管理成本,实现降本增效。

腾讯云 ES 高精度高性能自研内核

腾讯云 ES 不仅提供了相对于传统向量数据库的更全面的 RAG 解决方案,同时在性能方面也有着独特的优势。 腾讯云 ES RAG 方案凭借紫霄 GPU 的强大性能和深度优化的自研内核,大幅提升了向量检索的效率和精度。

自研内核优化

腾讯云 ES 在内核层面,针对典型向量场景特点做了深度优化,例如分片架构优化,查询并行化,lucene 查询缓存锁改造等,10亿级向量检索平均响应延迟控制在毫秒级,整体查询性能提升3 - 10倍:
混合搜索:基于向量检索与 BM25 算法的实时联合检索和多路召回,并对结果进行融合,大幅提升结果的召回率,同时保持了较高的性能。
向量的标量量化:将浮点数 float8 转为 int8 型表示,在保证召回率不受影响的前提下,大幅降低了 CPU、堆内存资源消耗,并降低了搜索的延迟。
自适应副本策略:ES 分布式系统网络调用多,如果遇到跨地区/AZ 调用或者慢节点分片副本调用,就会导致查询延迟高。腾讯云 ES 通过改进的本地自适应副本选择策略,其核心原理是:通过计算协调节点跟数据分片副本的查询平均响应时间、查询队列、查询成功率,不断地调整选择延迟最低的副本进行查询,来大幅降低搜索的延迟,并保障负载均衡。
查询裁剪:ES 查询模型是将查询请求拆分成分片级的子请求转发给各个分片并行执行,最后在协调节点合并各个分片的结果,在每个分片内部有多个 segment。腾讯云 ES 通过对列存、数值索引、Terms 等维度对 segment 进行提前裁剪跟合并收敛,减少随机 IO,优化查询性能。
查询并行化:通过压榨空闲 CPU 资源,将 ES 的单个分片级请求拆分成3 - 5个子请求并行处理该分片下的 segment 或者 docs,根据 docs 或者 segment 切分,每个线程只处理一部分 docs 或者 segment,在数据节点合并每个线程的结果后再返回给协调节点,协调节点合并各个分片的结果返回给客户端,从而达到性能倍数级的提升。
查询缓存优化:通过 CBO 策略,避免了查询 Cache 操作导致查询耗时10+倍的毛刺,并通过最小粒度的读写锁提升了 LRU 缓存性能2倍+,并提交到官方Elasticsearch、Lucene 社区,得到社区的认可跟点赞。

紫霄 GPU 支持

腾讯云 ES 是全球唯一支持 GPU 的 ES 服务,它可以与腾讯自研“芯”技术紫霄软硬结合,充分利用 GPU 的性能优势,提高向量生成和检索的效率。紫霄 V1 具有高能效、高吞吐、高带宽等特点,设计算力规格 NVIDIA A10 相当,显存带宽比 A10 高30%,最高可比 A10 性能高50% - 100%。 在常见中小模型上,紫霄相比 NVIDIA T4 通常有100%以上的性能提升,相比 NVIDIA A10 有20%+的性能优势。

腾讯云 ES 与 Milvus 性能对比

我们基于开源工具 ann-benchmark 进行了详细性能测试,通过检索不同维度的数据集在召回率达到99%的情况下,获取最相似的 Top10 的文档,对比 Milvus、与腾讯云 ES 的向量检索的 QPS 数据。
公共数据集
维度
配置
召回率
QPS
Milvus
腾讯云 ES
sift-128-euclidean
128
3节点4C8G,
HNSW(m=16,
efConstruction=200)
99%
3653
19479
gist-960-euclidean
960
480
4136
可以看到,无论是在高维还是低维的向量检索场景,腾讯云 ES 有接近5 - 8倍的性能领先优势,用更低的成本、更好的性能帮助业务发展,降本增效。

乐享基于腾讯云 ES 的 RAG 实践

乐享智能搜索模块的核心目标是帮助企业内部员工和外部伙伴高效挖掘企业沉淀的知识金矿。虽然智能搜索的交互并不复杂,但要把这个搜索结果做好,并没有那么容易。首先要解决的是大模型“幻觉”问题,确切的说把“幻觉”降到最低。对企业客户来说,诚实地说“我不知道”,比起一个明显错误的答案,前者的影响范围要小的多。并且这些企业的“私有知识”,显然是不能直接用在大模型预训练(Pre Trained)和精调(Fine Tuning)中的。针对这类问题,乐享采用的方案是 RAG(Retrieval Augmented Generation,索引增强生成)方案。



在实现 RAG 的过程中,乐享采用了腾讯云 ES 提供的向量检索跟精确文本匹配的混合搜索,结合其内置的倒数排序融合(RRF)算法,完成了多路召回、混合搜索和混合排序,最终实现高召回率、高准确率的数据检索。

实践结果

通过实施腾讯云 ES 的 RAG 解决方案,乐享智能搜索模块实现了以下成果:
高召回率和准确率:通过混合搜索技术,乐享有效提升了向量检索的召回率和准确性,确保用户查询到的结果更加相关和精确。
用户满意度提升:智能搜索模块减少了大模型的“幻觉”现象,提高了回答的准确性和可靠性,用户满意度显著提升。
业务效率提高:企业内部员工和外部伙伴可以更快速地获取所需知识,提升了工作效率和协作效果。
数据安全保障:通过严格的权限管理,乐享确保了企业数据的安全性和隐私保护,增强了用户对系统的信任。

总结

腾讯云 ES 的一站式 RAG 解决方案在智能检索领域表现卓越,帮助企业降本增效,实现业务价值持续增长。
乐享通过大模型技术,将企业多年积累的数据转化为有价值的知识,助力企业构建智能学习社区。
未来,腾讯云 ES 将继续深耕智能检索领域,在成本、性能、稳定性等方面持续提升,帮助客户实现更高的业务价值。感谢大家的支持,欢迎持续关注腾讯云 ES 与乐享!