虹科方案 | Redis Enterprise:适用于任何企业的矢量数据库解决方案

news2024/11/25 7:51:39

用户希望他们遇到的每个应用程序和网站都具有搜索功能。然而,超过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 演示】,欢迎前往虹科云科技官网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/718216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【自动化测试教程】 —— pytest 框架详解 ~

pytest框架 特点: 容易上手, 入门简单, 文档丰富, 文档中有很多参考案例支持简单的单元测试和复杂的功能测试支持参数化执行测试用例过程中, 支持跳过操作支持重复失败的case支持运行Nose, unittest编写测试用例pytest支持很多第三方插件方便和持续集成工具集成 1. pytest断…

如何搭建独享的IP代理池?

随着互联网技术的日趋成熟,爬虫已经成为一种常见的数据获取方法。在采集业务中,建立本地IP代理池是非常重要的。今天将与您探讨IP代理池的选择以及如何搭建独享的IP代理池。 独享IP代理池是指由客户单独使用的IP池,优点是客户可以享受池中所…

关于opencv中cv2.imread函数读取的图像shape问题

图像坐标系是(w,h),w为x轴,h为y轴,(x,y) 但opencv读出来的数组却正好相反,是(h,w,3),(y,x,3) 所以这里会有一个转换 image cv2.imread(1.jpg) print(image.shape[0:2]) ##输出(365,500&#x…

【操作系统】Linux编程 - 多线程的创建和使用 II (临界区 、互斥量、信号量的使用)

临界区的概念 之前的实例中我们只尝试创建了1个线程来处理任务,接下来让我们来尝试创建多个线程。 不过,还是得先拓展一个概念——“临界区” 临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段&…

哈工大计算机网络课程网络层协议详解之:Internet路由BGP协议详解

哈工大计算机网络课程网络层协议详解之:BGP协议详解 在之前的网络层协议中,我们介绍了Internet网络两个自治系统内的路由协议:RIP协议和OSPF协议。这两个协议应该来说是自治系统内协议的两个代表性协议,前一个基于距离向量路由算…

优化内存利用:深入了解垃圾回收算法与回收器

🔭 大家好,我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏:JVM &am…

机器学习面试题- 特征工程

目录标题 1、为什么要对特征做归一化2、对特征归一化的方法2.1 线性函数归一化2.2 零均值归一化 3、对数据预处理时,如何处理类别型特征3.1 序号编码3.2 独热编码3.3 二进制编码 4、什么是组合特征?如何处理高维组合特征?5、怎样有效地找到组…

​python接口自动化(十)--post请求四种传送正文方式(详解)​

简介 post请求我在之前的文章已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等。我们要知道post请求四种传送正文方式首先需要先了解一下常见的四种编码方式: HTTP 协议规定 POST 提交的数据必须放在消息主体(…

SpringBoot处理全局异常详解(全面详细+Gitee源码)

前言:在日常的开发工作中,项目在运行过程中多多少少是避免不了报错的,对于报错信息肯定不可以把全部信息都抛给客户端去显示,这里就需要我们对常见的七种异常情况统一进行处理,让整个项目更加优雅。 目录 一、基本介绍…

AMEYA360:航顺芯片产品有哪些 航顺家族介绍

经济型 HK32M050 家族 采用ARM Cotex-M0内核,最新工艺标准,最高48M主频,内置16K FALSH,4K SRAM,支持DMA,内置4个模拟比较器,2路运放(PGA),支持多种通讯包括2个…

二叉树 — 给定二叉树中某个节点,返回该节点的后继节点

后继节点定义: 二叉树以中序的方式进行遍历打印,节点X的下一个节点,就是X的后继节点。 假设二叉树如下图所示:则中序遍历的后打印出来的就是 4 -> 2 -> 5 -> 1 -> 6 -> 3 -> 7。如果X 3,则X的后继节…

Docker网络模型以及容器网络初探(一)

〇、前言 安装Docker时,它会自动创建三个网络,默认bridge网桥(创建容器默认连接到此网络)、 none 、host。各个方式有各自的特点,它们有着特定的差距,比如网络性能等,一般按照实际应用方式手动…

大数据之数据采集项目总结——hadoop,hive,openresty,frcp,nginx,flume

1、前期准备 2、数据收集 1、开启openresty,nginx和frcp内网穿透 2、编辑并启动定时器 3、查看是否收集到了数据 数据收集阶段结束,进入下一个阶段 2、将收集到的切分好的数据上传到hdfs 使用的工具:flume flume像一个管道一样&#xff0c…

三十九、动态规划——线性DP问题-例题题解

线性DP问题的例题状态划分 一、问题:数字三角形1、题目内容2、状态划分1)状态编号 f[i][j]2)状态划分 3、题解 二、最长上升子序列1、题目内容2、状态划分1)状态编号 f[i]2)状态划分 3、题解 三、最长公共子序列1、题目…

【二维偏序+双指针】ABC245 E

E - Wrapping Chocolate (atcoder.jp) 题意: 思路: 因为两个数组都是无序的,因此可以考虑给这两个数组都排个序 将物品和盒子都按照两个维度去排序 我们可以先去枚举物品,然后去选对应的盒子 在选盒子的过程中,注…

【王道·操作系统】第四章 文件管理(下)

一、文件系统 1.1 文件系统的层次结构 用户需要通过操作系统提供的接口发出上述请求——用户接口由于用户提供的是文件的存放路径,因此需要操作系统一层一层地查找目录,找到对应的目录项——文件目录系统不同的用户对文件有不同的操作权限,因…

c++读取字符串字符时出错

这是我做的一个c爬虫程序但是在抓取网页的时候string类型传递出现了问题 以下是图片代码 url的值是 "http://desk.zol.com.cn/" 我不知道为什么数据传递会出问题 请大佬指教

Java 串口通信(RS232/485)

Java 串口通信(RS232/485) 一.串口通信页面二.串口服务实现1.Java 串口通信配置1.扩展包和依赖库2.Pom配置 2.启动类3.工具包类1.Common2.Crc16Modbus3.SerialUtil 4.WebSocket 配置1.启动配置2.监听配置 5.UI交互类1.串口配置对象2.串口信息获取接口3.R…

HOT39-对称二叉树

leetcode原题链接:对称二叉树 题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true示例 2: 输入:root [1,2,2,null,3,null,3] 输出&a…

JVM03-优化垃圾回收

JVM的内存区域中,程序计数器、虚拟机栈和本地方法栈这3个区域是线程私有的,随着线程的创建而创建,销毁而销毁;栈中的栈帧随着方法的进入和退出进行入栈和出栈操作,每个栈帧中分配多少内存基本是在类结构确定下来的时候…