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

关于对向量检索研究的一些学习资料整理

官方学习资料

        主要是的学习资料是, 官方文档 和官方博客。相关文章还是挺多 挺不错的 他们更新也比较及时。有最新的东西 都会更新出来。
es scdn官方博客

这里简单列一些,还有一些其他的,大家自己感兴趣去看。

什么是向量数据库

Elasticsearch:向量数据库的真相-CSDN博客

什么是向量嵌入

什么是大语言模型(LLM)

什么是语义搜索

向量搜索的优势

什么是机器学习

关于多模态


        这个是多模态检索。目前es只能做文本类转向量的模型导入。不支持图片转向量的模型导入。(clip是双塔模型,一个负责文本转向量,一个负责图片转向量。我测过了,图片转向量模型不支持导入)如果用es做多模态。还是要在外边部署模型。 整体体验不好。而且模型导入es,是收费的白金版。 最佳实践(不付费玩法)应该是完全在外边做转向量。 考虑付费,可以用es

学术界前沿的研究对比


        这个是学术稍微前沿一点的研究。里边包含的论文,感兴趣可以看看。里边探讨对比了关于BM25和向量检索的效果。还包含稀疏向量相关的知识。

关于稀疏向量

        稠密向量有一个致命问题。 检索速度,以及做嵌入的速度。太慢,现在最先进的方向是稀疏向量

这里边有对比 语义检索 和 BM25的效果对比。(最佳实践是两者结合,做内容召回。两者可以互补)根据官方提供的稀疏向量的模型测试结果如下图所示,据说20个场景有19个都优遇BM25.

这是稀疏向量模型的转换效果,应该不会多花费空间。它的维度相对低。 

这里有我的一篇文章,国内生产实践经验帖。ES-ELSER 如何在内网中离线导入ES官方的稀疏向量模型(国内网络环境下操作方法)-CSDN博客

如何做向量嵌入

        模型转向量,简单来讲,是利用机器学习模型把一块文本(数据),映射到网络空间内,同样问题(query)也是用同一个模型,映射到网络空间内。然后计算cosin值,也就是夹角越小,就越相近。

        我在生产实践中,是选择使用es来的机器学习模块倒入hugging face上的NLP模型,来做文本嵌入。

        这里有一篇我自己写的国内环境下。如何在es中导入NLP模型。elasticsearch 内网下如何以离线的方式上传任意的huggingFace上的NLP模型(国内避坑指南)-CSDN博客

        这里还有一个例子,是在es中使用 E5 嵌入模型进行多语言向量搜索

向量检索简单举个例子

        data 是一篇文章的内容。这个内容最终可能是切分成N个片段。 然后通过模型把每个片段都转成向量,然后再把向量存到向量库。

例如,第一个段落 片段转完是 [1.0000009,0.11111111,0.899998]

然后问题,也转成向量可能是 [1.0044449,0.55551111,0.449998]

然后通过计算这两个数组,的cosin值,然后再比较 其它片段和问题的cosin值(当然还可以用其它计算方式),然后做个排序,然后把topN小的返回。这就是KNN最邻近搜索。

关于相关性或者说相似性

        相似不相似,其实更多是依赖模型效果好不好。向量库都只是起计算作用。关于向量库的选择,只需要看该向量数据库的稳定性,数据承载能力(也就是能存多少数据,是否满足业务需求。)已经向量数据库实现的向量检索算法都有哪些(实际上目前学术界也就那么多)。还有就是该库的检索性能如何,稳定性如何,能够满足业务需求。但是不要想着在向量数据库上去提升搜索相关性的事情,因为相关性和库没有太大关系。如何要研究提升召回效果。应该去考虑选择什么样的机器学习模型效果更好,还要考虑模型的语言能力,是否支持多语种。例如你在英文模型下做中文数据的embedding,效果肯定会很差。此外不同的业务应该选择自己的模型,加上微调。而不是一个大一统的模型。另外一个提升相关性的方向是探索数据切割的规则,针对不同类型的数据做不同的切分。

        实际上利用向量检索的相关性效果,还确实是比BM25好的。但是它不是绝对的,在关键词精准匹配场景下,BM25算法更好一些。

如何选择模型

语义检索系统如何选择合适的embedding模型-CSDN博客

使用模型做文本陷入,如何做数据切分,不丢失语义

        目前这一块探索还比较少。根据看过的一些案例,基本上推荐在500个token,300-400个字。再多了就会丢失语义。这里还需要摸索和测试一下。

ES支持混合检索吗? 向量检索+倒排索引 

es ANN搜索

这样可以先筛选数据。然后剩下的在做 knn搜索。这个逻辑会先走倒排搜索。

提供一个向量检索的案例

腾讯es云,最近写的最佳实践
 

关于请求改写经验


美团的查询改写

相关文章:

关于对向量检索研究的一些学习资料整理

官方学习资料 主要是的学习资料是, 官方文档 和官方博客。相关文章还是挺多 挺不错的 他们更新也比较及时。有最新的东西 都会更新出来。es scdn官方博客 这里简单列一些,还有一些其他的,大家自己感兴趣去看。 什么是向量数据库 Elasticse…...

软件开发流程分析

软件开发流程分析 相关概念1 原型设计2 产品设计3 交互设计4 代码实现详细步骤 相关概念 前端:自研API,调用第三放API 后端:自研API,第三方API 数据库:Mysql,数据采集,数据迁移 服务器&#xf…...

017 OpenCV 向量机SVM

目录 一、环境 二、SVM原理 三、完整代码 一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、SVM原理 OpenCV中的向量机(SVM)是一种监督学习算法,用于分类和回归分析。它通过找到一个最优的超平…...

Qt练习题

1.使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否…...

文本转图像 学习笔记

VQGAN (Vector Quantized Generative Adversarial Network) 是一种基于 GAN 的生成模型,可以将图像或文本转换为高质量的图像。 VQ (Vector Quantization)是一种数据压缩技术,是指将连续数据表示为离散化的向量。输入的图像或文本…...

开源CDN软件GoEdge —— 筑梦之路

官方网站:GoEdge CDN - 制作自己的CDN - GoEdge CDN | 自建CDN GoEdge是一款管理分布式CDN边缘节点的开源工具软件,目的是让用户轻松地、低成本地创建CDN/WAF等应用。 特性 免费 - 开源、免费、自由、开放 简单 - 架构简单清晰,安装简单&a…...

基于SpringBoot+Vue会员制医疗预约服务管理信息系统(Java毕业设计)

点击咨询源码 大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的…...

【Linux | 编程实践】防火墙 (网络无法访问)解决方案 Vim常用快捷键命令

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...

仅 CSS 阅读进度条

为了构建一个阅读进度条,即显示用户向下滚动时阅读文章的进度,很难不考虑 JavaScript。但是,事实证明,您也可以使用纯 CSS 构建阅读进度条。 从本质上讲,一个名为 animation-timeline 的新实验性 CSS 属性可以让你指定…...

深度剖析中国居民消费价格指数CPI数据可视化案例-Python可视化技术实现(附完整源码)【数据可视化项目案例-16】

🎉🎊🎉 你的技术旅程将在这里启航! 🚀🚀 本专栏包括所有的可视化技术学习,感兴趣可以到本专栏页面,查阅可视化宝典可快速了解本专栏。订阅专栏用户可以在每篇文章底部下载对应案例源码以供大家深入的学习研究。 🎓 每一个案例都会提供完整代码和详细的讲解,不论…...

SpringBoot——嵌入式 Servlet容器

一、如何定制和修改Servlet容器的相关配置 前言: SpringBoot在Web环境下,默认使用的是Tomact作为嵌入式的Servlet容器; 【1】修改和server相关的配置(ServerProperties实现了EmbeddedServletContainerCustomizer)例如…...

王炸升级!PartyRock 10分钟构建 AI 应用

前言 一年一度的亚马逊云科技的 re:Invent 可谓是全球云计算、科技圈的狂欢,每次都能带来一些最前沿的方向标,这次也不例外。在看完一些 keynote 和介绍之后,我也去亲自体验了一些最近发布的内容。其中让我感受最深刻的无疑是 PartyRock 了。…...

文件管理和操作工具Path Finder mac功能介绍

Path Finder mac是一款Mac平台上的文件管理和操作工具,提供了比Finder更丰富的功能和更直观的用户界面。它可以帮助用户更高效地浏览、复制、移动、删除和管理文件,以及进行各种高级操作。 Path Finder mac软件功能 - 文件浏览:可以快速浏览文…...

转换 pytorch 格式模型为 caffe格式模型 pth2caffemodel

基于 GitHub xxradon/PytorchToCaffe 源码,修改 example\resnet_pytorch_2_caffe.py 如下 import os import sys sys.path.insert(0, .)import torch from torch.autograd import Variable from torchvision.models import resnet import pytorch_to_caffe"&q…...

【S32DS RTD实战】-1.3-S32K3工程生成S19,BIN,Hex文件,以及Post-build steps的妙用

目录 1 方法一:逐个生成Motorola S-record(s19,srec…),Intel HEX,Bin文件 1.1 生成Motorola S-record(s19,srec…)文件 1.2 生成Intel HEX文件 1.3 生成Bin文件 2 …...

Java工程找不到javax.xml.bind.annotation包

文章目录 问题解决方法参考 问题 最近Java工程找不到javax.xml.bind.annotation包,进行了解决。 解决方法 参考 stackoverflow: package javax.xml.bind.annotation does not exist error javax.xml.bind这个库从Java 11版本就被移除了,缺失了这个包…...

【C语言】网络字节序和主机字节序

网络字节序和主机字节序是计算机中字节的两种排序方式,它们主要用于解决不同计算机之间数据通信的问题。 一、网络字节序 也被称为大端字节序,是一种标准的字节序。在网络通信中,如果两台主机的字节序不同,可能会导致数据解释的二…...

极简模式,助力宏观数据监控

随着UWA GOT Online采样的参数越来越多样化,为了提升开发者的使用体验,我们最新推出了三种预设数据采集方案:极简模式、CPU模式、内存模式。该更新旨在降低多数据采集对数据准确性的干扰,同时也为大家提供更精准且有针对性的数据指…...

智能优化算法应用:基于花授粉算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于花授粉算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于花授粉算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.花授粉算法4.实验参数设定5.算法结果6.参考文…...

IT圈的“鄙视链”大揭秘:从Java到Go,编程语言之战!

目录 ​编辑 Java程序员: 自信满满的领头羊 C语言程序员: 严肃的技术守护者 汇编语言程序员: 古老的传承者 Go语言程序员: 新晋的潜力股 结语: 编程语言,相互鄙视中求共存 我的其他博客 在IT圈…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

数据链路层的主要功能是什么

数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

2025季度云服务器排行榜

在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...