OpenSearch图搜图、文搜图向量检索最佳实践

news2024/11/25 22:52:44

一、向量检索介绍

1.1 多模态信息的典型特点-非结构化

信息可以被划分为两大类:当信息能够用数据或统一的结构加以表示,称之为结构化数据;当信息无法用数字或统一的结构表示,称之为非结构化数据。非结构数据与结构化数据相比较而言,更难让计算机理解。

以搜索为例:需要将非结构化数据→转为结构化→再完成搜索;

1.2 向量检索的定义与应用

1.2.1 什么是向量检索?

将物理世界产生的非结构化数据,转化为结构化的多维向量,用这些向量标识实体和实体间的关系。

再计算向量之间距离,通常情况下,距离越近、相似度越高,召回相似度最高的TOP结果,完成检索。

向量检索其实离我们很近以图搜图、同款比价、个性化搜索、语义理解……

1.2.2 向量检索典型应用场景

  1. 图像/视频/语音 多模态检索

图搜购物、同款比价,拍照搜题、图片识别等;

  1. NLP 文本检索

标准地址库检索、企业机构名称检索、通过补充向量语义召回,提升搜索效果;

  1. 搜索推荐广告

相似推荐、个性化搜索等;

  1. 向量检索几乎能够应用到AI领域的所有场景。

同时检索的结果也可以作为后续算法的输入进行更多业务相关的计算,实现复杂的业务场景。

二、企业自建向量检索的痛点

  • 性能差:返回结果耗时太长、结果返回率低 —— 搜索等待久,甚至超时崩溃,体验差
  • 成本高:索引占用过多内存,成本高,价格贵 —— 业务投入成本高,性价比低
  • 效果差:缺少向量搭建经验,精度和参数调不好 —— 搜索效果差
  • 海量数据支持差:业务快速增长,数据量飞涨,自建方案无法有效进行海量数据的索引构建和处理 —— 构建慢、更新慢、拓展性差

三、OpenSearch向量检索版-端到端图像搜索解决方案

3.1 端到端图像搜索方案介绍

就算企业没有向量数据、仅有图片原始数据,也能通过OpenSearch向量检索版端到端图像搜索方案,快速搭建图像搜索服务。用户可以直接导入图片源数据,在OpenSearch内部便捷完成图片向量化、向量搜索等步骤,实现以图搜图、以文搜图等多种图像检索能力。

(1)便捷、高性价比的端到端体验

  • 向量化和索引构建
    • 客户将图片源数据上传到OpenSearch向量检索版,向量检索版使用内置算法,能够将千亿级别的图片数据进行向量化、存储、并形成向量索引。
    • 针对字段、索引进行压缩,尽可能减少内存占用,帮助客户降低成本。
  • 搜索
    • 客户将要搜索的图片,上传给OpenSearch向量检索版,由它对该图片进行向量化
    • 将向量化后的图片与此向量索引进行比对查询,获取相似度最高的结果,并返回给客户

(2)可选三种方式上传图片原始数据,进行向量化处理

  • OSS+MaxCompute+OpenSearch向量检索版:用户先将图片上传至OSS中,在MaxCompute中存储业务表数据以及每条数据对应的图片地址(OSS里的路径,比如/image/1.jpg)
  • MaxCompute+OpenSearch向量检索版:用户将图片通过base64编码后的图片及其表数据存储在MaxCompute中
  • API+OpenSearch向量检索版:用户通过OpenSearch向量检索版给出的数据推送接口,将base64编码后的图片及其表数据推送到OpenSearch向量检索版实例中

(3)内置模型完成图片向量化

  • 当前内置达摩院开源clip模型完成图像转向量
  • 后续将内置更多可选模型

3.2 技术优势

优势一:高性能保障:自研的超高向量检索引擎

  • OpenSearch向量检索版支持千亿数据毫秒级响应,实时数据更新秒级可见
  • OpenSearch向量检索版的检索性能优于开源向量搜索引擎数倍,在高QPS场景下召回率明显优于开源向量搜索引擎

OpenSearch向量检索版VS开源引擎性能:中数据场景

OpenSearch向量检索版VS开源引擎性能:大数据场景

优势二:低成本:采用多种方式优化存储成本、减少资源耗用

数据压缩:可将原始数据转化为float形式存储,并再采用zstd等高效算法进行数据压缩,实现存储成本优化

精细索引结构设计:针对不容类型索引,可采用不同优化策略,降低索引大小

非全内存加载:可以使用mmap非lock的形式加载索引,有效降低内存开销

引擎优势:OpenSearch向量检索版引擎本身具备构建索引大小、GPU资源耗用的优势,同等数据条件下,OpenSearch向量检索版内存占用仅为开源向量检索引擎的50%左右。

优势三:具有丰富的向量检索能力

  • 支持HNSW、QC、Linear等多种向量检索算法
  • 支持标签、文本倒排索引、向量索引的混合检索,提高检索性能与查询精度,下图举例说明按核心词混合检索、类别过滤前后的搜索效果对比:

优势四:支持按表达式过滤,具有边检索边过滤能力,能有效降低搜索无结果率,提升搜索效果

优势五:Query中支持设置,相似度阈值、扫描返回的节点数等参数,找到查询耗时与返回结果精度之间的最优解

优势六:大规模数据快速索引构建、支持实时更新、数据水平拓展

  • 支持大规模向量快速导入与索引构建,单节点 348维 1亿向量,通过配置优化,可在3.5小时内完成全量构建
  • 支持数据动态更新、即增即查、自动索引重建
  • 支持数据水平扩展

3.3 产品配置流程

  1. 第一次开通阿里云账号并登录控制台,您需先创建AK和SK
  2. 产品支持MaxCompute数据源、API数据源,您需提前准备数据
  3. 购买OpenSearch向量检索版实例,系统自动部署与购买规格一致的空集群,您需为该集群「配置数据源、配置索引结构、索引重建」,之后才可正常搜索
  4. 在控制台查询测试页面或通过API/SDK,进行以文搜图效果测试;通过API/SDK进行以图搜图效果测试
  5. 通过API/SDK调用向量搜索服务

更多使用说明参考: :本文介绍如何通过OpenSearch【向量检索版】帮助企业在没有向量数据的情况下快速搭建图像搜索服务,解决图片向量化、向量搜索等检索难题,实现以图搜图、以文搜图等多种图像检索能力。并通过数据压缩功能,降低存储空间,降低业务成本,为企业提供效果、性能双保障。

3.4 客户案例

某电商客户,通过约15个工作日完成POC接入:

  1. 完成2亿级别768维向量数据的存储和索引构建,并支持增量更新无需重建索引
  2. 万级别数据,实现毫秒级检索响应,查询耗时对比自建方案降低50%
  3. 支持按条件查询、分类筛选、标签过滤的向量检索能力,满足灵活的业务场景需要

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

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

相关文章

Rockchip芯片单板适配OpenHarmony的方法

Rockchip芯片单板适配OpenHarmony的方法 1 整体思路 OpenHarmony是一个上层用户操作系统,在设计上希望兼容不同的底层系统。针对于L2的Linux标准设备,OpenHarmony对Linux、Uboot等底层系统没有太多的依赖,并且在驱动方面,HDF也兼…

蓝桥杯省一经验+考试流程+技巧分享

今年拿了省一,开心,我渡梦酒也可以拿奖奖啦。 我对整体参赛流程还是比较熟悉了,给大家留下一点值得参考的东西~。 这篇纯纯经验和技巧分享,请放心食用~ 目录 考试流程 考试代码怎么提交 考完结束需要做什么 做题小技巧&#xf…

适合学生党的蓝牙耳机品牌有哪些?性价比高的无线耳机推荐

相较于有线耳机,蓝牙耳机的受欢迎程度可谓是越来越高,当然,这也离不开部分手机取消耳机孔的设计。最近看到很多网友问,适合学生党的蓝牙耳机品牌有哪些?针对这个问题,我来给大家推荐几款性价比高的无线耳机…

VR全景摄影,全景VR展示模式

目前,全景概念已经被大众熟知,很多行业尤其是房产、汽车等已经开始大批量使用全景展示的方式提高获客率和推广率。VR全景摄影以全景摄影技术为基础,结合虚拟现实技术,可以让用户身临其境,沉浸式地感受虚拟环境。 一、V…

【 Spring AOP 】

文章目录 一、什么是 Spring AOP?二、为什要⽤ AOP?三、AOP 的组成四、Spring AOP 的实现五、Spring AOP 实现原理 一、什么是 Spring AOP? AOP(Aspect Oriented Programming):⾯向切⾯编程,它…

【Linux常见指令以及权限理解】基本指令(2)

写在前面 今天我们继续学习Linux的基本指令, 这里是上一篇博客的链接:http://t.csdn.cn/9AgHP 接下来我会继续讲解Linux指令相关内容。 目录 写在前面 1. man 描述: 用法: 例子: 例1: 例2&#…

MC9S12G128开发板—实现按键发送CAN报文指示小车移动功能

实验环境:MC9S12G128开发板 基本功能:控制开发板上的按键,模拟车辆移动的上下左右四个方位,通过can通信告诉上位机界面,车辆轨迹的移动方位。 1. 1939报文发送的示例代码 MC9S12G128开发板1939协议发送can报文数据的…

redmine问题跟踪系统4.1版本一键安装包下载

很好用的项目管理,缺陷跟踪系统,开源免费使用 Version 4.1.1-4 2020-08-31 由 redmineplugins.cn Admin 在 超过 2 年 之前添加 Version 4.1.1-4 2020-08-31 Maintenance releaseUpdated Apache to 2.4.46Updated Git to 2.28.0Updated PHP to 7.3.21U…

初识uniapp

创建小程序 依次点击HBuilderx 左上方的按钮:文件->新建->项目 然后打开该界面,输入项目名称,点击 浏览 按钮,可以选择项目保存的目录,这些完成后点击 创建 按钮就好了 比如小颖的项目名叫 :test-y…

基于一致性的半监督学习用于诊断x线片分类

文章目录 Consistency-Based Semi-supervised Evidential Active Learning for Diagnostic Radiograph Classification摘要方法Evidential-based Semi-supervised LearningEvidential-based Active Learning Consistency-Based Semi-supervised Evidential Active Learning for…

Java+Angular开发的医院信息管理系统源码,系统部署于云端,支持多租户

云HIS系统源码,采用云端SaaS服务的方式提供 基于云计算技术的B/S架构的云HIS系统源码,采用云端SaaS服务的方式提供,使用用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、…

第四届CECC中国计算机教育大会召开,飞桨持续加码产教融合教育新生态

‍‍大模型作为人工智能发展的新方向,对人才的需求和培养带来了新挑战。4月21日至22日,以“新时代 新挑战 新任务”为主题的第四届中国计算机教育大会(CECC)在厦门召开,飞桨承办“人工智能与大模型”论坛同期举办。立足…

【Python安卓开发】BeeWare框架:环境准备

💭 写在前面:我们假定读者已经安装好了 3.8 版本后的 Python,并且安装好了依赖项,在 Windows 上构建 BeeWare 应用程序需要 Git,你可以可以从 git-scm.org 网站下载。安装完毕后重新启动 cmd,然后就可以准备…

Compiler- 循环展开

循环展开不仅在编译原理中有涉及到&#xff0c;笔者记得在CSAPP里面也提到了这种优化方法。 话不多说&#xff0c;我们先来看个例子。 int loop(int a) {int result 0;for(int i 0; i < a; i){result i;}return result; }int loop1(int a) {int result 0;int len a/2…

虚拟化、容器与Docker基本介绍以及安装部署镜像加速

目录 一.虚拟化概述 1.虚拟化是什么&#xff1f; 2.虚拟化两大组件 3.虚拟化类型 4.虚拟化功能 二.容器概述 1.容器是什么&#xff1f; 2.容器的优点 3.容器的缺点 三.Docker概述 1.Docker是什么&#xff1f; 2.Docker容器与虚拟机的区别 3.容器在内核中支持两种重…

从0开始学习docker-1.mysql安装

从0开始学习docker 环境安装安装mysql备份镜像删除镜像镜像恢复 环境安装 yum update yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce systemc…

IOS工程:NSThread sleepForTimeInterval的使用,游戏中途中断(接电话或者点击Home按钮),重新回到游戏音频音效失效问题

IOS工程&#xff1a;NSThread sleepForTimeInterval的使用&#xff0c;游戏中途中断&#xff08;接电话或者点击Home按钮&#xff09;&#xff0c;重新回到游戏音频音效失效问题 设备/引擎&#xff1a;Mac&#xff08;11.7&#xff09;/cocos 开发工具&#xff1a;Xcode 开发…

composer 安装gitlab私有库

开发PHP项目&#xff0c;免不了用composer。最近做一个项目&#xff0c;需要到公司内部开发的核心包&#xff0c;核心包放在内网搭建的gitlab仓库中&#xff0c;于是我用composer进行下载&#xff0c;报错&#xff1a; Cloning into bare repository C:/Users/Administrator/A…

Mac电脑系统管家CleanMyMac X4.13安装下载使用教程

当我们刚刚拿到那闪亮的新Mac时&#xff0c;是多么令人愉悦的一种感觉&#xff01;随着时间的推移&#xff0c;你可能已经注意到它的速度减慢&#xff0c;磁盘空间逐渐减少。不用担心&#xff0c;CleanMyMac会为你的电脑带来焕然一新的体验。这篇文章将向你介绍CleanMyMac的奇妙…

企业oa管理系统是什么

办公自动化&#xff08;Office Automation&#xff0c;简称OA&#xff09;&#xff0c;是将计算机、通信等现代化技术运用到传统办公方式&#xff0c;进而形成的一种新型办公方式。 办公自动化利用现代化设备和信息化技术&#xff0c;代替办公人员传统的部分手动或重复性业务活…