从互联网发展伊始,搜索技术就绽放出了惊人的社会和经济价值。随着信息社会快速发展,数据呈爆炸式增长,搜索技术通过数据收集与处理,满足信息共享与快速检索的需求。
云搜索服务 ESCloud 是火山引擎提供的完全托管在线分布式搜索服务,兼容 Elasticsearch、Kibana 等软件及常用开源插件。可以提供结构化、非结构化文本的多条件检索、统计、报表,帮助实现一键部署、弹性扩缩、简化运维,快速构建日志分析、信息检索分析等实际业务。
而伴随着 Serverless 的兴起和大势所向,火山引擎云搜索服务升级云原生新架构。
云搜索服务云原生版
k-NN,大模型时代下的原生向量搜索和数据库
随着推荐、音视频等新兴领域应用的涌现和对大模型场景的需求,引入多模态搜索来满足更加复杂的搜索需求势在必行。我们在全文检索的基础上增加向量搜索能力来实现对非结构化数据的分析和检索。
在向量搜索的场景下,使用机器学习模型生成向量来表示数据对象(文本、图像、音视频等);向量距离来代表对象间的相似性。常用的向量库使用 ANN 算法在极短时间内完成海量向量的检索。
k-NN 可以作为向量数据库来使用,通过引入先进的向量算法库来构建向量索引,还会将构建好的向量索引持久化到磁盘,索引更加稳定。结合 ESCloud 产品的倒排索引,可以将向量检索和全文检索的能力融合,实现更加强大的混合搜索(Hybrid Search)能力。在 ESCloud 的集群基础上,k-NN 向量数据库可以提供大规模分布式能力,为用户带来可扩展数量级的向量搜索。
场景案例
基于 k-NN 的业务场景主要有以下六大类,目前在字节跳动内部复杂的业务场景中均有所运用:
-
多模态搜索:包括图片搜索,语义搜索,音视频相似性检索等;
-
智能推荐: 视频推荐,广告投放推荐,关系推荐,商品推荐等;
-
智能问答:基于 Transformer 的 FAQ,LLM 的领域知识问答,LangChain 集合的生成式QA;
-
数据消重:视频、音频、图片的审核消重,各类素材版权检测;
-
安全风控:欺诈检测,扫黑检测,危险评估,异常检测;
-
其他应用:数据挖掘,数据分析,搜索重排序, 文本搜图。
以文案相似度识别方案为例。
在用户推送文案的场景下,为保证用户体验,需要确保推送文案不会有重复内容,因此对每个推送的内容都会进行相似度识别并消重。每个文案通过 BERT 模型生成 Embedding,在云搜索中检索一次。如果相似度低于阈值,判定为新的文案,会写入 k-NN 向量数据库中,逐渐完善成一个文案库;如果相似度高于阈值,则判定为重复文案,减少推送量。
云搜索服务 ESCloud 兼容 Elasticsearch、Kibana 等软件及常用开源插件,提供结构化、非结构化文本的多条件检索、统计、报表,可以实现一键部署、弹性扩缩、简化运维,快速构建日志分析、信息检索分析等业务能力。