用户希望他们遇到的每个应用程序和网站都具有搜索功能。然而,超过80%的业务数据是非结构化的,以文本、图像、音频、视频或其他格式存储。因此,我们需要一种跨非结构化数据的搜索方式。
什么是矢量数据库(vector database)?
矢量数据库(vector database),也叫向量数据库,是一种以矢量或数据点的数学表示形式存储数据的数据库类型。得益于自然语言处理和计算机视觉方面的发展,人工智能和机器学习使这种“将非结构化数据转化为数字表示(矢量)的方式”成为可能。
矢量相似性搜索(Vector Similarity Search),简称VSS,它是矢量数据库的一个关键特征,是在矢量数据库中寻找与给定查询矢量相似的数据点的过程。VSS是一种高级搜索方法,用于衡量不同数据之间的相似性。虽然它适用于结构化数据,但在比较非结构化数据(例如图像、音频或长文本)的相似性时,VSS确实表现更出色。流行的VSS用途包括推荐系统、图像和视频搜索、自然语言处理和异常情况检测。例如,如果要建立一个推荐系统,则可以使用VSS来寻找并推荐给用户感兴趣或者相似的产品。
如何从图像或文本生成矢量?
这就是 AI/ML 发挥作用的地方。
预训练机器学习模型的广泛应用使得“将任何类型的非结构化数据(图像、音频、长文本)转换为矢量嵌入”变得简单。例如,专注于自然语言理解(NLU)的初创公司Hugging Face提供对数百个最先进模型的免费访问,这些模型将原始文本数据转换为其矢量表示(嵌入)。
这些模型的巧妙之处在于,只有当两个句子的含义在语义上相似时,为两个句子生成的嵌入才会彼此 “接近”。
二维矢量空间中矢量嵌入的简化表示
在上图中,你可以了解句子的嵌入是如何相关的。如果您查看为{与“手机”相关的句子}生成的嵌入,您会注意到它们彼此“接近”(参见图表的左上部分)。更重要的是,这两种嵌入都明显远离为{与食品补充剂产品相关的句子}生成的嵌入(图表的右下部分)。嵌入之间的“距离”代表了它们的语义相似性,甚至有些模型还可以捕捉多种语言句子的语义相似性。在计算机视觉领域,有一个图形库:Torchvision,一个用于计算机视觉的PyTorch库。它提供了许多预训练模型,可用于{为给定图像生成矢量}。与Hugging Face模型类似,只有当图像在视觉上相似时,Torchvision为两幅图像生成的嵌入才会彼此接近。开发人员可以在他们的应用程序中利用这些免费模型。
但是,生成矢量表示或嵌入只是第一步。你需要一个数据库来存储矢量、为它们建立索引并执行矢量相似性搜索。
使用Redis Enterprise作为矢量数据库
矢量相似性搜索的核心是存储、索引和查询矢量数据的能力,这些是矢量数据库所需的基本功能。
Redis企业版的VSS功能是作为RediSearch模块的新功能构建的,它允许开发人员像在 Redis哈希中存储其他任何字段一样轻松地存储矢量。它提供在大型矢量空间中执行低延迟搜索所需的高级索引和搜索功能,通常范围从数万到数亿个分布在多台机器上的矢量。
1.实时搜索性能
搜索和推荐系统必须运行得非常快。Redis Enterprise中的VSS功能保证了低搜索延迟,无论数据集合是数万个还是数亿个对象,以及是否分布在多个数据库节点上。
2.内置容错和弹性
为确保您的搜索应用程序永远不会出现停机,Redis Enterprise使用无共享集群架构。它在所有级别都具有容错能力,在流程级别、单个节点和跨基础设施可用性区域具有自动故障转移。为确保您的非结构化数据和矢量永远不会丢失,Redis Enterprise 包括可调的持久性和灾难恢复机制。
3.降低架构和应用程序的复杂性
如果您正在使用Redis满足缓存需求。与其启动另一个昂贵的单点解决方案,不如扩展您的数据库以在您的应用程序中利用VSS。开发人员可以像在Redis 哈希或JSON对象中存储任何其他字段一样轻松地存储矢量。
4.跨云和地域的灵活性
可以选择数据库的运行位置。Redis Enterprise可以部署在任何地方、任何云平台、本地或多云或混合云架构中。
亲身体验我们的 Redis VSS 演示
我们提供一个点击时尚产品搜索器,此演示使用 Redis Enterprise 的内置矢量搜索功能来展示如何使用图像和文本等非结构化数据来创建强大的搜索引擎。
点击这里免费体验VSS,您也可以联系虹科云科技为您演示!
Redis VSS的用例
1.推荐系统
Redis Enterprise帮助推荐引擎以低延迟向用户提供最新、相关性高的推荐,以帮助他们找到与购物者喜欢的产品相似的产品。
2.文献检索
Redis Enterprise使用自然语言和语义搜索,可以更轻松地从大量文档中发现和检索信息。
3.AI问答
Redis Enterprise帮助问答系统利用来自OpenAI和Cohere的流行模型在知识库中利用语义搜索和生成AI工作流。
Redis VSS的特征
1.矢量索引算法
Redis Enterprise在索引数据结构中管理矢量,以实现平衡搜索速度和搜索质量的智能相似性搜索。根据您的数据和用例,从两种流行的技术中进行选择,FLAT(一种蛮力方法)和HNSW(一种更快的近似方法)。
2.矢量搜索距离度量
Redis Enterprise使用距离度量来衡量两个矢量之间的相似性。从三个流行的指标中选择—欧几里得、内积和余弦相似度—用于计算两个矢量“接近”或“相距”的程度。
3.强大的混合过滤
利用Redis Enterprise查询和搜索中可用的全套搜索功能。通过将矢量相似度的强大功能与更传统的数字、文本和标签过滤器相结合来增强您的工作流程。将更多业务逻辑合并到查询中并简化客户端应用程序代码。
4.实时更新
实时搜索和推荐系统会生成大量不断变化的数据,新图像、文本、产品或元数据等……随着数据集的不断变化,Redis Enterprise可以无缝地对搜索索引执行更新、插入和删除,减少数据停滞所带来的影响。
5.矢量范围查询
传统的矢量搜索是通过找到“前K个”最相似的矢量来执行的。Redis Enterprise还支持在预定义的相似性范围或替代阈值内发现相关内容,并提供更灵活的搜索体验。
推荐阅读:
《虹科Redis企业版数据库简介》
《虹科方案 | Redis Enterprise:适用于任何企业的矢量数据库解决方案》
虹科是Redis企业版数据库的中国区战略合作伙伴,了解更多【企业级数据库解决方案】及体验【Redis VSS 演示】,欢迎前往虹科云科技官网!