https://developer.volcengine.com/user/1328665155612552
https://developer.volcengine.com/articles/7359608769129087026
作者|谢剑桥,火山引擎向量数据库高级工程师
VikingDB 简介

VikingDB 在字节内部的应用
向量数据库近来的火热来源于大语言模型的兴起,但在大模型兴起之前,VikingDB 已经在字节内部广泛应用,最初应用在推荐、广告、搜索的召回环节,后来逐步扩展到了消重、风控、对话、文档搜索等需要向量检索的其他场景。
在内部推广应用的过程中,VikingDB 经历了非常多样的挑战:超大规模的数据、极致的延迟/性能要求、海量业务场景的接入支持等。为了克服这些困难,我们做了很多架构和性能的优化,以及产品特性的完善。比如:
在内部产品的不断迭代过程中,VikingDB 也逐渐契合云原生的理念,为孵化商业化向量数据库产品打下了坚实的基础。依托于 VikingDB 在字节内部积累的丰富经验,我们在火山引擎推出了 VikingDB 的商业化版本,以更好地对外部客户进行赋能。
应用:Retrieval-Augmented Generation
大语言模型在生成文本方面表现出色,但也存在一些限制,如知识局限性和幻觉问题。为了克服这些挑战,RAG(Retrival-Augmented Generation) 成为了当前业界最流行的解决方案。RAG 结合检索和生成两个关键组件,通过检索为大模型提供相关数据作为上下文信息。由于向量数据库能够高效存储和检索模型生成的向量,从而提供语义上更具有相关性的检索结果,因此向量数据库成了 ES 之外的 RAG 必不可少的检索工具,RAG 也成为了向量数据库最为重要的应用场景。简而言之, 向量库数据库对大模型的价值就是能够提供更准确的语义相关的数据作为上下文信息 。

AI 原生能力
向量(embedding) 是 AI 模型表达非结构化数据的形式, 而向量数据库又是以 embedding 作为核心概念,并围绕其提供存储检索能力的基础软件,因此可以说 向量数据库是 AI 原生应用程序的基础设施 。
为了更好地胜任 AI 基础设施的角色和贴合大模型的生态,VikingDB 集成了常用的 embedding 模型,用户可以方便地导入、检索文本等非结构化数据,之后 VikingDB 再自动将其转换为向量并存储,最终提供检索能力。
除了近似向量检索,VikingDB 还提供聚类查询、基于向量的相关性排序和多样性打散等能力,以更好地满足 AI 原生应用程序多样的向量计算需求。
另外,除了以向量为核心的基础能力之外,VIkingDB 从模型迭代,信息安全等角度或场景做了特性支持,以更好的产品形态或功能来服务 AI 原生应用程序的研发。