当前位置: 首页 > news >正文

虹科干货 | 不是吧,Redis Enterprise也能当向量数据库来用?

什么是向量相似性搜索啊?

例如,你需要搜索一棵发财树的图片,如果用传统数据库来检索,你大概率会在茫茫树丛中错失心仪的发财树。但是,向量相似性搜索能用向量来表示所有树的特征,这样就能够通过计算向量之间的距离来判断树的相似度,美美发财啦!

听说Redis Enterprise也可以作为向量数据库来使用了?

是的!Redis VSS!可以存储向量、为它们建立索引并执行向量相似性搜索哦~

一、什么是向量数据库(vector database)?
向量数据库(vector database)是一种以向量或数据点的数学表示形式存储数据的数据库类型。 受益于自然语言处理和计算机视觉方面的进展,人工智能和机器学习使这种将非结构化数据转化为数字表示(向量)的方式成为可能,其能捕捉到数据的意义和背景。

向量相似性搜索(Vector Similarity Search, VSS),简称VSS,它是向量数据库的一个关键特征,是在向量数据库中寻找与给定查询向量相似的数据点的过程。 VSS 是一种高级搜索方法,用于衡量不同数据之间的相似性,虽然它适用于结构化数据,但在比较非结构化数据(例如图像、音频或长文本)的相似性时,VSS表现一样出色。常见的VSS用例包括推荐系统、图像和视频搜索、自然语言处理和异常情况检测等。例如,如果你建立一个推荐系统,你可以使用VSS来寻找(并推荐)与用户历史感兴趣产品相似的产品。

二、如何从图像或文本生成向量?
这正是 AI/ML 发挥作用的地方。
预训练机器学习模型的广泛应用使得将几乎任何类型的非结构化数据(图像、音频、长文本)转换为向量嵌入变得简单。例如,自然语言理解领域(Natural Language Understanding, NLU)的初创公司Hugging Face公开了数百个最先进的模型,用户可以免费访问,这些模型将原始文本数据转换为对应的向量表示。

在Hugging Face将原始文本数据转换为对应的向量表示
在Hugging Face将原始文本数据转换为对应的向量表示

这些模型的巧妙之处在于,只有当两个句子的含义在语义上相似时,为两个句子生成的嵌入才会彼此 “接近”。

二维向量空间中向量嵌入的简化表示二维向量空间中向量嵌入的简化表示

在上图中,您可以了解句子的嵌入是如何表现出相关性的。如果您查看用与“手机”相关的句子生成的嵌入,您会注意到它们彼此“接近”(参见上图的左上部分)。更重要的是,这两个嵌入都明显远离用与“食品补充剂”产品相关的句子生成的嵌入(上图的右下部分)。嵌入之间的“距离”代表了它们的语义相似性,甚至有模型可以捕捉多种语言句子的语义相似性。

在计算机视觉领域,也有一个类似的东西:Torchvision,一个用于计算机视觉领域的 PyTorch 库,提供了许多预训练模型,可用于为给定图像生成向量表示。与 Hugging Face 模型类似,只有当图像在视觉上相似时,Torchvision 为两幅图像生成的嵌入才会彼此接近。
开发人员可以在他们的应用程序中使用这些免费提供的模型。

生成向量表示或嵌入只是第一步。您需要一个数据库来存储向量、为它们建立索引并执行向量相似性搜索。

三、使用Redis Enterprise作为向量数据库
向量相似性搜索的核心是存储、索引和查询向量数据的能力。这些是向量数据库所需的基本功能。
Redis Enterprise的 VSS 功能RediSearch 模块的一个新功能。它允许开发人员像在 Redis Hash中存储任何其他字段一样轻松地存储向量。它提供高级索引和搜索功能,使得在大型向量空间中可以进行低延迟搜索,通常涵盖分布在多台机器上的数万到数亿个向量。

Redis Enterprise中的向量相似性检索过程

Redis Enterprise中的向量相似性检索过程

Redis Enterprise的向量搜索功能

  • 实时搜索性能

搜索和推荐系统必须运行得非常快,无论数据集合是分布在多个数据库节点上的数万个还是数亿个对象,Redis Enterprise 中的 VSS 功能可以保证低延迟搜索。

  • 内置容错和弹性

为确保您的搜索应用程序永远不会停机,Redis Enterprise 使用无共享集群架构。它有应对各级别故障或灾难的的容灾能力,包括针对进程级别、单个节点和跨基础设施可用性区域的自动故障转移。为确保您的非结构化数据和向量永远不会丢失,Redis Enterprise 包括可调的持久化和灾难恢复机制。

  • 降低架构和应用程序的复杂性

您的组织很可能已经在缓存方面受益于Redis Enterprise。与其启动另一个昂贵的单点解决方案,不如扩展您的数据库以在您的应用程序中利用 VSS。开发人员可以像在Redis Hash或JSON 对象中存储任何其他字段一样轻松地存储向量。

  • 跨云和地域的灵活性

选择您的数据库应该运行在哪里。Redis Enterprise可以部署在任何地方,任何云平台、本地或多云或混合云架构都可以。

四、Redis VSS的用例

  • 推荐系统

Redis Enterprise 帮助推荐引擎以低延迟向用户提供及时、相关的推荐。它可以帮助他们找到与其偏好一致的产品。

  • 文献检索

Redis Enterprise 使用自然语言和语义搜索,可以更轻松地从大量文档中发现和检索信息。

  • AI问答

Redis Enterprise利用语义搜索和生成 AI 工作流,帮助问答系统利用来自OpenAI和Cohere的流行模型在知识库中发现和检索信息。

五、Redis VSS的特征

  • 向量索引算法

Redis Enterprise 使用索引数据结构来管理向量,以实现搜索速度和搜索质量的平衡,达到智能相似性搜索的效果。根据您的数据和用例,有两种流行的技术可选:FLAT(一种蛮力方法)和HNSW (一种更快的近似方法)。

  • 向量搜索距离指标

Redis Enterprise 使用距离指标来衡量两个向量之间的相似性。有三个流行的用于计算两个向量“接近”或“相距”的程度,距离指标可供选择——欧几里得距离、向量内积和余弦相似度——。

  • 强大的混合过滤

充分利用 Redis Enterprise 查询和搜索模块中提供的全套搜索功能。通过将向量相似度的强大功能与更传统的数字、文本和标签过滤器相结合来增强您的工作流程,将更多业务逻辑合并到查询中并简化客户端应用程序代码。

  • 实时更新

实时搜索和推荐系统会生成大量不断变化的数据,如新图像、文本、产品或元数据。随着数据集的不断变化,Redis Enterprise可以无缝地对搜索索引执行更新、插入和删除操作,这减小了过时数据带来的影响。

  • 向量范围查询

传统的向量搜索是通过找到“前K个”最相似的向量来完成向量搜索的。,除此之外,Redis Enterprise 还支持在预定义的相似性范围或阈值内查找相关内容,并提供更灵活的搜索体验。

六、客户评价
“有了 Redis VSS,我们可以为客户提供可靠且速度极快的向量搜索服务。与我们最初基于 Lucene 的实现相比,我们发现延迟减少了 80%。与这个值得信赖的品牌和团队合作,因此我们使用Redis Enterprise的过程不那么困难了,我们感到很开心。”
——Jacky Koh,CEO, Relevance AI

相关文章:

虹科干货 | 不是吧,Redis Enterprise也能当向量数据库来用?

什么是向量相似性搜索啊? 例如,你需要搜索一棵发财树的图片,如果用传统数据库来检索,你大概率会在茫茫树丛中错失心仪的发财树。但是,向量相似性搜索能用向量来表示所有树的特征,这样就能够通过计算向量之间…...

汽车驾驶 - 四梁六柱是什么

汽车的四梁六柱指的是车辆的两个前纵梁,两个后纵梁和ABC柱。虽然不像车辆上的发动机变速箱这些部件出镜率那么高,但这几个部位的重要作用可一点都不含糊。一辆车在碰撞时能够受力起到保护左右的就是四梁六柱,对我们汽车的安全性起到至关重要的…...

CI522 13.56MHZ电动车NFC测试资料

Ci522是一颗工作在13.56MHz频率下的非接触式读写芯片,支持读A卡(CI523支持读A/B卡),可做智能门锁、电动车NFC一键启动、玩具NFC开锁等应用。为部分要求低成本,PCB小体积的产品提供了可靠的选择。 Ci522与Si522/MFRC52…...

【微信小程序开发】一文学会使用CSS样式布局与美化

引言 在微信小程序开发中,CSS样式布局和美化是非常重要的一部分,它能够为小程序增添美感,提升用户体验。本文将介绍如何学习使用CSS进行样式布局和美化,同时给出代码示例,帮助开发者更好地掌握这一技巧。 一、CSS样式布…...

漏刻有时物联网环境态势感知大数据(设备列表、动态折线图)

物联网环境下的态势感知是指对物联网环境中的各种要素进行全面、实时、准确的监测、分析和预测,以实现网络态势的全面掌握和安全威胁的及时响应和处理。具体而言,态势感知以物联网环境为基础,利用各类传感器、数据采集设备和其他相关工具,对物联网设备、资产、数据流等进行…...

【力扣】单调栈:901. 股票价格跨度

【力扣】单调栈:901. 股票价格跨度 文章目录 【力扣】单调栈:901. 股票价格跨度1. 题目介绍2. 思路3. 解题代码参考 1. 题目介绍 设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。 当日股票价格的 跨度 被定义为股票价格…...

4_使用预训练模型 微调训练CIFAR10

使用预训练模型 微调训练CIFAR10 1. VGG 准备工作import torch from torch import nn import torchvision from torchvision import models from torchvision import datasets, transforms from datetime import datetime from tqdm import tqdm from torchsummary import sum…...

机器学习笔记(一)

1.线性回归模型 2. 损失函数 3.梯度下降算法 多元特征的线性回归 当有多个影响因素的时候,公式可以改写为: 当有多个影响因素的时候为了方便计算,可以使用 Numpy下面的点积方法, np.dot(w,x) 最后再加个b 就省略了很多书写步骤,这叫做矢量化 多元回归的梯度下降 左边是一…...

学习在原地打转的原因与解决 如何步步为营 一日千里快速进步 考研工程计算 1万小时=416.666666667 天

学习在原地打转的原因可能有很多。以下是一些常见的原因: 缺乏明确的目标:如果没有明确的学习目标,人们往往会感到迷失和困惑。没有一个明确的方向,就很难做出有针对性的努力,从而导致学习进展缓慢。 学习方法不当&a…...

194、SpringBoot --- 下载和安装 Erlang 、 RabbitMQ

本节要点: 一些命令: 小黑窗输入: rabbitmq-plugins enable rabbitmq_management 启动控制台插件 rabbitmq-server 启动rabbitMQ服务器 管理员启动小黑窗: rabbitmq-service install 添加rabbitMQ为本地服务 启动浏览器访问 htt…...

机器学习7:pytorch的逻辑回归

一、说明 逻辑回归模型是处理分类问题的最常见机器学习模型之一。二项式逻辑回归只是逻辑回归模型的一种类型。它指的是两个变量的分类,其中概率用于确定二元结果,因此“二项式”中的“bi”。结果为真或假 — 0 或 1。 二项式逻辑回归的一个例子是预测人…...

Java应用程序中如何实现FTP功能 | 代码示例和教程

原为地址:https://www.toymoban.com/diary/java/363.html 在Java应用程序中实现FTP功能需要使用FTPClient类和相关方法。下面是实现三个主要功能的示例代码: 1)显示FTP服务器上的文件: void ftpList_actionPerformed(ActionEv…...

kotlin:list的for循环

代码: var list { "a", "b", "c" } for (i in list.indices) {print("app"i""list[i]) }...

asp.net电影院选座系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net电影院选座系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言开发 asp.net电影院选座系统1 二、功能介…...

CSS鼠标指针表

(机翻)搬运自:cursor - CSS: Cascading Style Sheets | MDN (mozilla.org) 类型Keyword演示注释全局autoUA将基于当前上下文来确定要显示的光标。例如,相当于悬停文本时的文本。default 依赖于平台的默认光标。通常是箭头。none不会渲染光标。链接&状态contex…...

树的基本概念及二叉树

目录 一、树的基本概念 (1)树的结点 (2)度 (3)结点层次 (4)树的高度 树的特点: 二、二叉树 (1)满二叉树 (2)完…...

BUUCTF Basic 解题记录--BUU XXE COURSE

1、XXE漏洞 初步学习,可参考链接: 一篇文章带你深入理解漏洞之 XXE 漏洞 - 先知社区 2、了解了XXE漏洞,用burpsuite获取到的url转发给repeater,修改XML的信息,引入外部实体漏洞,修改发送内容,…...

kotlin:LogKit

看到别人的一个代码,觉得有点意思,就复制过来。 package robatimport android.util.Log import java.util.*object LogKit {private val MIN_STACK_OFFSET 3var defaultTag "LogKit"private val lineSeparator System.getProperty("l…...

yolo_tracking中osnet不支持.pth格式,而model_zoo中仅有.pth

yolo_traking-7.0中REID模块用到了osnet,track.py中模型文件不支持.pth,而model_zoo中仅有.pth,改动代码太麻烦了,网上查到的.pth文件转化为.pt文件都需要读取网络架构,不太可能实现。 读取osnet_x0_25_msmt17.pth发现…...

Tailwind CSS浅析与实操

Tailwind CSS 一、Tailwind CSS简介 What is Tailwind CSS Tailwind CSS| TailwindCSS中文文档 | TailwindCSS中文网官方解释:只需书写 HTML 代码,无需书写 CSS,即可快速构建美观的网站。本质上是一个工具集,包含了大量类似 fle…...

Activiti工作流引擎详解与应用

一、简介 Activiti是一个开源的工作流引擎,基于BPMN2.0标准进行流程定义。它可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言BPMN2.0进行定义,业务流程按照预先定义的流程进行执行,实现了系统的流程由Activiti进行管…...

New Journal of Physics:不同机器学习力场特征的准确性测试

文章信息 作者:Ting Han1, Jie Li1, Liping Liu2, Fengyu Li1, * and Lin-Wang Wang2, * 通信单位:内蒙古大学物理科学与技术学院、中国科学院半导体研究所 DOI:10.1088/1367-2630/acf2bb 研究背景 近年来,基于DFT数据的机器学…...

ubuntu22.04 x11窗口环境手势控制

ubuntu22.04 x11窗口环境手势控制 ubuntu x11窗口环境的手势控制并不优秀,我们可以使用touchegg去代替 这个配置过程非常简单,并且可以很容易在一定范围内达到你想到的效果,类比mac的手势控制 关于安装 首先添加源,并安装 sud…...

【ARM CoreLink 系列 4 -- NIC-400 控制器详细介绍】

文章目录 1.1 ARM NIC-400(Network interconnect)1.1.1 NIC-400 系统框图1.1.2 NIC-400 Network Interconnect1.2 NIC-400 特点1.2.1 QoS-400 Advanced Quality of Service1.2.2 QVN-400 QoS Virtual Networks1.2.3 TLX-400 Thin Links1.3 NIC-400 Top1.4 NIC-400 Terminology1…...

【生成模型】解决生成模型面对长尾类型物体时的问题 RE-IMAGEN: RETRIEVAL-AUGMENTED TEXT-TO-IMAGE GENERATOR

介绍 尽管最先进的模型可以生成常见实体的高质量图像,但它们通常难以生成不常见实体的图像,例如“Chortai(狗)”或“Picarones(食物)”。为了解决这个问题,我们提出了检索增强文本到图像生成器…...

南美巴西市场最全分析开发攻略,收藏一篇就够了

巴西位于南美洲东部,是南美洲资源最丰富,经济活力和经济实力最强的国家。巴西作为拉丁美洲的出口大国,一直是一个比较有潜力的市场,亦是我国外贸公司和独立外贸人集群的地方。中国长期是巴西主要的合作伙伴,2022年占巴…...

c++中操作符->与 . 的使用与区别

在C中,-> 和 . 是两个不同的成员访问操作符,用于访问类、结构体或联合体的成员。 “->” 操作符: 用于通过指针访问指针所指向对象的成员。当有一个指向对象的指针时,可以使用 -> 操作符来访问该指针所指向对象的成员。…...

golang 编译器 汉化

1、找到左上角file选项,点击选中settings进行单机 2、找到settings中找到plugins选中进行点击 3、再框中输入chinese进行搜索,出结果后找到如下图所示,点击进行安装 4、安装完成后进行重启ide,完美解决...

压缩包系列

1、zip伪加密 一个zip文件由三部分组成:压缩源文件数据区压缩源文件目录区压缩源文件目录结束标志。 伪加密原理:zip伪加密是在文件头中加密标志位做修改,然后在打开时误被识别成加密压缩包。 压缩源文件数据区: 50 4B 03 04&a…...

互联网图片安全风控实战训练营开营!

内容安全风控,即针对互联网产生的海量内容的外部、内部风险做宏观到微观的引导和审核,从内容安全领域帮助企业化解监管风险和社会舆论风险,其核心是识别文本、图片、视频、音频中的有害内容。 由于互联网内容类型繁杂、多如牛毛,加…...

洛阳市伊滨区建设局网站/球队世界排名榜

令牌桶算法 令牌桶算法(Token Bucket)和 Leaky Bucket 效果一样但方向相反的算法,更加容易理解.随着时间流逝,系统会按恒定1/QPS时间间隔(如果QPS100,则间隔是10ms)往桶里加入Token(想象和漏洞漏水相反,有个水龙头在不断的加水),如果桶已经满了就不再加了.新请求来临时,会各自拿…...

网站滚动的图片是怎么做的/长沙seo免费诊断

导语大家好,我是智能仓储物流技术研习社的社长,你的老朋友,老K。 本文来自高工产研研究。仅供参考。剑蓝错知识星球 * 原创电子书 * 深海社区 * 微信群 知名企业-智能仓储物流技术研习社-建立智能物流系统甲方、集成商与周边配套商共同技术语…...

电商客服怎么做如何从零开始/处理事件seo软件

一:概念: NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本…...

唐山做网站公司哪家好/优化官网咨询

http://www.cnblogs.com/littlemonk/p/5500801.html这篇文章主要介绍了Angularjs中UI Router全攻略,涉及到angularjs ui router的基本用法,需要的朋友参考下吧首先给大家介绍angular-ui-router的基本用法。 如何引用依赖angular-ui-router angular.modul…...

wordpress汉化视频模板/百度手机助手下载安装最新版

Java-odbc-000-连接、插入、查询、修改、删除-2020-6-25 目录提示零、最终效果一、准备二、ListDB.java三、SQLDB.java提示 运行环境jdk1.6 零、最终效果 一、准备 ①sample.mdb(利用微软的access) ②管理工具->ODBC数据管理程序(32位)//虽然我电脑是64位->用户DSN-&…...

建设门户网站费用/公司营销网站建设

1. 远程连接linux(用Xshell) ssh 用户名服务器的ip ssh s18192.168.235.128 普通用户登录后系统的提示符:$ root用户登录后系统的提示符:# ssh rootip -p port 制定端口号 exit 退出用户登录 2. 查看服务器ip地址 ip addr ifconfig ens33: 网卡名3. 盘符…...