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

用户希望他们遇到的每个应用程序和网站都具有搜索功能。然而,超过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.mfbz.cn/a/36140.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习的高精度老虎检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度老虎检测识别系统可用于日常生活中或野外来检测与定位老虎目标,利用深度学习算法可实现图片、视频、摄像头等方式的老虎目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型…

uniapp学习之【uniapp的返回事件 onBackPress 在微信小程序中不生效的问题】

uniapp 的返回事件 onBackPress 在微信小程序中不生效的问题 场景:页面中点击左上角的返回按钮,监听返回操作,页面返回前执行了一些操作, uniapp 页面生命周期中有 onBackPress ,因此将操作写在了 onBackPress () 页面生命周期钩子当中, H5 测试一切正常,但是微信开…

集合面试题--LinkedList数组

目录 单向链表 介绍 时间复杂度分析 双向链表 时间复杂度分析 总结 ArrayList和LinkedList的区别是什么? 单向链表 介绍 时间复杂度分析 双向链表 时间复杂度分析 总结 ArrayList和LinkedList的区别是什么?

某网站JS加密、OB混淆与CSS反爬实战分析

1. 写在前面 最近一段时间接触了一些小说网站的业务。发现很多的小说网站,甚至一些小站它们的安全防护措施做的都很到位!例如上次说到的的五秒盾也是存在于一个小说小站。今天要讲的这个网站它集JS加密、ob混淆、CSS反爬于一体 目标站点: aH…

【javaEE面试题(四)线程不安全的原因】【1. 修改共享数据 2. 操作不是原子性 3. 内存可见性 4. 代码顺序性】

4. 多线程带来的的风险-线程安全 (重点) 4.1 观察线程不安全 static class Counter {public int count 0;void increase() {count;} } public static void main(String[] args) throws InterruptedException {final Counter counter new Counter();Thread t1 new Thread(()…

王道考研计算机网络第五章知识点汇总

5.1.1 传输层概述 复用:好比家里面每个人都要写信,向信箱里面投入信件,然后由邮递员取走。 分用:就是每个人都收到了各自的回信,然后从信箱中取走各自的信 5.2 UDP协议 注意:用户数据报和检验和都是指的整…

深度剖析线上应用节点流量隔离技术

作者:谢文欣(风敬) 为什么要做流量隔离 源于一个 EDAS 客户遇到的棘手情况:他们线上的一个 Pod CPU 指标异常,为了进一步诊断问题,客户希望在不重建此 Pod 的情况下保留现场,但诊断期间流量还…

chatGPT如何开启 Browsing 功能,实现即时联网查询?

Openai 为每一个 chatGPT Plus 用户都开放了 Browsing 和 plugins 功能。 前者可以在 ChatGPT 觉得有必要的时候(比如你问它今天的新闻),自动联网查询,后者是第三方开发者开发的插件,数量繁多,可以解决各种…

【Distributed】分布式ELK日志文件分析系统

文章目录 一、ELK 概述1. 为什么要使用 ELK2. 完整日志系统基本特征3. ELK 简介3.1 ElasticSearch(ES)3.2 Kiabana3.3 Logstash3.4 其它组件Filebeat缓存/消息队列Fluentd 4. ELK 的工作原理5. Linux 系统内核日志消息的优先级别 二、 部署 ELK 集群服务…

使用python调用ChatGPT API 简单示例

如果你已经获得了OpenAI的API密钥,并且想要使用Python发起ChatGPT对话,你可以使用OpenAI的Python SDK来实现。下面是一个简单的示例代码: 首先,你需要确保已安装OpenAI的Python SDK。你可以使用pip来安装: pip insta…

BaGet做了一个Nuget私有服务器,Nginx代理之后还是会请求被代理得地址

Nuget搭建和使用可以参考官网得文档 https://loic-sharma.github.io/BaGet/installation/docker/ 这是我用Nginx代理之后出现得问题,观察请求url和响应回来得配置。配置中得ip地址得url是我被代理得下游地址,所以是无法访问的。 我原本以为是要去server…

【案例教程】GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化技术及多领域案例实践实践技术

随着航空、航天、近地空间等多个遥感平台的不断发展,近年来遥感技术突飞猛进。由此,遥感数据的空间、时间、光谱分辨率不断提高,数据量也大幅增长,使其越来越具有大数据特征。对于相关研究而言,遥感大数据的出现为其提…

79. 单词搜索

79. 单词搜索 原题链接:完成情况:解题思路:参考代码: 原题链接: 79. 单词搜索 https://leetcode.cn/problems/word-search/ 完成情况: 解题思路: 参考代码: package 西湖算法题…

微信小程序使用animation.css

animation.css是一款纯css动画库,其中提供了丰富的动画效果 我们直接下载animation.css,即可使用其中的样式 其官网为:Animate.css | A cross-browser library of CSS animations. 1.下载 使用npm下载animation.css: npm inst…

构建工具——webpack、vite

文章目录 构建工具Webpack使用步骤配置文件(webpack.config.js)插件(plugin) ViteVite 也是前端的构建工具使用命令构建配置文件:vite.config.js 构建工具 当我们习惯了在 node 中编写代码的方式后,在回到…

python怎么获取免费代理IP

什么是免费代理IP 免费代理IP是指可以免费使用的代理服务器的IP地址。代理服务器充当客户端和目标服务器之间的中间人,通过转发请求和响应来实现网络数据的传输。使用代理IP可以隐藏真实的客户端IP地址,实现匿名访问网络资源。 免费代理IP通常由个人或组…

实战:k8s证书续签-2023.6.19(测试成功)

实战:k8s证书续签-2023.6.19(测试成功) 目录 推荐文章 https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩转Typora》 1、前言 k8s集群核心的证书有2套,还有1套非核心的(即使出问题也问题不大)。 ⚠️ 如果是kubeadm搭建的k8s集群,其有效期为…

Spring系列4 -- Bean的作用域和生命周期

目录 1. 案例 2. 作用域定义 2.1 Bean的6种作用域 2.2 设置作用域 3. Sring的执行流程 4. Bean的生命周期 思考: 为什么不是先进行初始化然后再进行设置属性呢? 1. 案例 假设现在有⼀个公共的 Bean,提供给 A ⽤户和 B ⽤户使⽤,然⽽在使⽤的途中…

HTML5中一些酷炫又有趣的新特性代码整理汇总

HTML5中一些酷炫又有趣的新特性代码整理汇总 文章目录 HTML5中一些酷炫又有趣的新特性代码整理汇总前言一、详情标签< details>二、内容可编辑三、标记内容< mark>四、data-* 属性五、输出标签六、数据列表< datalist>七、Meter八、Inputs 前言 HTML5 是 Hy…

Apikit 自学日记:测试数据集

测试数据集 添加数据集的变量 在测试用例详情页面中&#xff0c;您可以点击上方的 测试数据 标签&#xff0c;进入用例的数据管理页面。在这里您可以添加多组测试数据&#xff0c;以及每组测试数据的变量。 在添加数据集前&#xff0c;我们需要设置数据集中存在什么变量。可以…