首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • PostgreSQL 向量数据存储指南

    引言在当今的数字化时代,数据存储的方式和技术正变得越来越复杂和多样化。随着机器学习和数据科学的发展,向量数据的存储和管理变得尤为重要。 PostgreSQL 的向量数据存储支持PostgreSQL 通过扩展和插件提供了对向量数据的支持。常见的向量数据存储方式包括:数组类型:PostgreSQL 内置数组数据类型,可以存储向量数据。 PostGIS:一个地理空间数据库扩展,支持地理坐标向量存储和查询。H3、Citus:一些插件和扩展,提供高效的向量数据存储和查询功能。 VectorData 类的 vector 字段将存储向量数据。 实现步骤图像特征提取:使用深度学习模型(如 ResNet)提取图像的特征向量向量存储:将图像的特征向量存储到 PostgreSQL 数据库中。相似度查询:利用向量相似度计算,从数据库中搜索相似图像。

    1.1K00编辑于 2024-07-31
  • 来自专栏繁依Fanyi 的专栏

    PostgreSQL 向量数据存储指南

    引言 在当今的数字化时代,数据存储的方式和技术正变得越来越复杂和多样化。随着机器学习和数据科学的发展,向量数据的存储和管理变得尤为重要。 PostgreSQL 的向量数据存储支持 PostgreSQL 通过扩展和插件提供了对向量数据的支持。 常见的向量数据存储方式包括: 数组类型:PostgreSQL 内置数组数据类型,可以存储向量数据。 PostGIS:一个地理空间数据库扩展,支持地理坐标向量存储和查询。 VectorData 类的 vector 字段将存储向量数据。 实现步骤 图像特征提取:使用深度学习模型(如 ResNet)提取图像的特征向量向量存储:将图像的特征向量存储到 PostgreSQL 数据库中。

    1K11编辑于 2024-09-20
  • 来自专栏AI相关

    再谈RAG与向量存储引擎

    不仅如此,其实向量这一概念在计算机人工智能技术中也早就出现了,这篇文章我们就来探究一下向量的发展史,以及使用传统向量存储引擎Elasticsearch实现RAG,讨论它与Milvus向量数据库有哪些不同 在向量数据库出现前(约2018年前),向量主要存储在以下三类“临时方案”中:1)文件系统+内存索引:使用FAISS、Annoy等库建立索引,向量以NumPy数组或HDF5文件格式存储在磁盘,元数据放在MySQL 在 7.x 版本开始通过 dense_vector 字段类型提供基础向量存储能力,此时向量仅作为数据字段存储,查询时需要通过性能低下的脚本计算相似度。 直到 8.0 版本引入 HNSW 索引支持,才真正实现高效的向量搜索能力。因此,向量存储向量搜索的必要基础,而索引优化才是实现实用化向量搜索的关键。 ,那么我们就来看看Elasticsearch作为向量存储和检索工具有何特性。

    14810编辑于 2026-02-07
  • 来自专栏马超的博客

    向量数据库:使用Elasticsearch实现向量数据存储与搜索

    向量数据库:使用Elasticsearch实现向量数据存储与搜索 一、简介   Elasticsearch在7.x的版本中支持 向量检索[2] 。 例如,不要在循环中使用这些函数来计算文档向量和多个其他向量之间的相似性。如果需要该功能,可以通过直接访问向量值来重新实现这些函数。 为了更好的利用DSL优化器,可以使用参数的方式提供一个查询向量。 4. 检查缺失值:如果文档中没有用于执行向量函数的向量字段的值,会抛出错误。 • doc[<field>].magnitude – 将向量的大小作为浮点数返回(对于7.5版本之前创建的向量,其向量的大小不会被存储)。所以这个函数每次被调用时都会进行重新计算。 :使用Elasticsearch实现向量数据存储与搜索 [2] 向量检索: https://github.com/elastic/elasticsearch/blob/e8c382f89553e3a7aaafa88a5934288c1192acdc

    5.4K20编辑于 2023-09-02
  • 来自专栏腾讯云Elasticsearch Service

    ES8 向量功能窥探系列(二):向量数据的存储与优化

    同时也将解读腾讯云 ES 向量增强版,如何助力业务实现节省 70% - 90% 存储的优化。1. 存储关于 ES 倒排索引等存储构成,网上早已有很多文章进行过解析,不做赘述。 由于未启用向量索引,我们有理由认为该配置下,向量字段只会引发行存和列存的存储大小增长。 在“无索引”的配置下,列存.dvd大部分存储向量字段占据,在配置了向量字段的 Flat 索引后,该部分存储几乎 1:1 地转移到.vec类型的向量索引数据文件中。 行存裁剪优化3.1 发现向量的冗余存储在上一章节提到的几种索引模式中,我们不难发现以下几点:向量字段无论索引与否,.fdt占据了整个存储的绝大部分向量原始数值除了存储在.fdt外,无论索引与否,都有额外的结构进行存储 这一显著的效果也说明,只要涉及了向量搜索,无论是纯向量还是混合场景,占据存储的大头基本来到了向量这里。

    1.8K10编辑于 2025-02-20
  • 来自专栏Reinvent Data Science

    揭秘 LlamaIndex|如何持久化存储 LlamaIndex 向量索引?

    LlamaIndex 系列】,此前我们已经邀请 LlamaIndex 的联合创始人详解【如何使用私有数据提升 LLM 的能力】,也细致介绍过 LlamaIndex 的各式索引,以及如何查询 LlamaIndex 向量存储索引的简略教程 本次,我们将着重讲解如何在 LlamaIndex 中创建并存储向量索引及 2 种持久化存储向量索引的方法。 01. 如果想要使用持久化存储引擎来存储索引,以便在后续应用搭建过程中使用,可以参照下文的教程。 02. 使用 MilvusVectorStore 连接向量存储,并传入主机和端口参数。 ……) 使用云端向量数据库 需要注意的是,如果遇到海量数据,我们推荐使用云端向量数据库来存储 LlamaIndex 向量索引。 以下教程中使用了 Zilliz Cloud向量数据库。

    1.9K21编辑于 2023-08-25
  • 来自专栏Elastic Stack专栏

    介绍一种新的向量存储格式:DiskBBQ

    这是一个快速且计算高效的算法,能够对向量数据进行对数级缩放。然而,这种速度是有代价的。为了让 HNSW 良好运作,所有向量都需要驻留在内存中。 这可能会显著减慢无法完全在内存中保存向量的硬件的速度。DiskBBQ 有何不同?DiskBBQ 使用层次化 K-means将向量划分为小簇。它会先选择代表性的质心进行查询,然后再查询各个向量。 最后,通过批量计算簇内向量与查询向量之间的距离,来探索每个簇内的向量。图 0. Hierarchical KMeans 算法流程示例。将向量分割成部分,聚类每个部分,并递归分割直到达到所需的分区大小。 DiskBBQ 另一个有趣的方面是,它允许将向量分配给多个质心。它利用 Google 的正交增强残差溢出 (SOAR)版本将向量分配到多个簇,这在向量位于两个簇边界附近时特别有用。 DiskBBQ 利用批量评分向量,并尽可能多地在堆外执行操作。这意味着我们可以直接从文件中读取向量到内存中进行优化的向量操作,从而产生相当不错的性能。DiskBBQ 的两个主要场景特别有趣。

    20910编辑于 2025-10-09
  • 来自专栏存储公众号:王知鱼

    AI向量搜索新范式:计算存储如何破局?

    您是否曾困惑于,在处理海量高维向量数据时,如何在保证搜索效率和准确性的同时,有效控制高昂的硬件成本和有限的存储容量? SanDisk 的解决方案 SanDisk的解决方案:一款专为大规模ANN向量搜索设计的、软硬件一体的计算存储(Computational Storage)加速器。 解决了纯GPU方案的成本和容量瓶颈: 它以成本低廉且容量巨大的NAND闪存作为主存储介质,而不是昂贵且容量有限的GPU显存,因此能够以极高的性价比支持超大规模(十亿级以上)的向量数据集。 其内部主要组件包括: NAND (黄色): 这是NAND闪存芯片,用于持久化存储海量的、完整的向量数据集。 Orchestrator Unit (红色): 编排/协调单元。 延伸思考 这次分享的内容就到这里了,或许以下几个问题,能够启发你更多的思考,欢迎留言,说说你的想法~ SanDisk的计算存储方案在向量搜索领域展现出巨大潜力,您认为这种“计算靠近数据”的理念,在其他AI

    22910编辑于 2025-11-20
  • 来自专栏存储公众号:王知鱼

    IBM计算存储:SSD如何加速十亿级向量搜索?

    他们将标准SSD重构为专用的向量搜索加速卡——Vector Search Module (VSM),通过“计算型存储”理念,直接在存储层并行执行向量搜索。 架构演进: 为了解决扩展性问题,未来的趋势是利用近数据计算(或存储内计算) 技术,直接在存储层并行执行向量搜索,以实现高吞吐和低延迟的大规模检索。 最近邻搜索 Exhaustive Search (暴力/穷举搜索) 全量扫描:将搜索向量与库中所有向量逐一比对。 存储密集/IO密集:需要读取全部数据。 这种设计不惜牺牲存储密度,只为换取极致的向量检索速度和低延迟。 VSM 并不是要替代所有向量计算,而是专注于它最擅长的——对海量存储数据进行高带宽的并行扫描。

    14310编辑于 2026-03-09
  • 来自专栏DeepHub IMBA

    向量存储vs知识图谱:LLM记忆系统技术选型

    第二个想法可能是存储每条消息加上摘要,然后用语义搜索(RAG里的检索部分)在查询时获取相关信息。 这就是标准的naive retrieval系统的做法。 它们大概率用了一个分类器判断某条消息是否包含需要存储的事实。 然后把事实归到预设的类别里(比如个人资料、偏好、项目),相似的就更新现有记忆,不同的就新建一条。 架构方案的选择 目前主流架构就两条路:向量方案和知识图谱方案。 前面提到的检索方法是大部分人入门时的选择。检索依赖向量存储(常配合稀疏搜索),能同时支持语义和关键词检索。 之前提到向量方案在时间推理和多跳推理上有短板。而知识图谱里信息本身就是结构化的,LLM更容易利用全部上下文。 向量方案随着信息增长,噪音会越来越强,系统可能连不起各个点。 或者搞混合方案,比如自己写个分类器筛选值得存的事实消息来控制成本,其他消息扔自己的向量存储定期压缩和总结。 最后总结 虽然有记忆系统支持,但是也别指望完美。这些系统还是会出现幻觉或者漏掉答案。

    29410编辑于 2025-11-15
  • 来自专栏存储公众号:王知鱼

    AI大模型时代:向量数据库如何挑战存储极限?

    本文将深入探讨向量数据库如何成为一个对存储性能高度敏感的关键AI工作负载,并揭示其对底层存储I/O的极致要求,以及我们应如何应对这些挑战。 划线高亮 观点批注 什么是向量数据库? PPT旨在从概念、功能、应用和行业趋势四个方面介绍向量数据库。 定义与功能: 向量数据库是一种专门用于存储和查询高维向量(Embeddings)的数据库。 这张PPT阐述了这一行动的三个主要驱动因素: 行业趋势(存储敏感性): 随着向量数据集的爆炸性增长,向量数据库的性能瓶颈正从内存和计算转向存储I/O。 通过实测数据证明,基于DiskANN(存储型)的向量数据库在处理大规模数据集(1亿向量)时,其性能具有良好的可扩展性,但同时也暴露了它对存储带宽的极高依赖性,并伴随着延迟的显著增加。 这有力地证明了向量数据库在高并发下是一个“存储敏感型”或“存储I/O密集型”工作负载。

    45210编辑于 2025-12-21
  • 来自专栏Elastic Stack专栏

    Lucene 中的标量量化:如何优化存储和搜索向量

    Understanding Scalar Quantization in Lucene 自动字节量化在 Lucene 中的应用 HNSW 是一种功能强大且灵活的存储和搜索向量的方法,但它需要大量内存才能快速运行 Lucene 中的分段量化 每个 Lucene 段存储以下内容:单个向量、HNSW 图索引、量化向量和计算的分位数。为了简洁,我们将重点介绍 Lucene 如何存储量化和原始向量。 对于每个段,我们跟踪 vec 文件中的原始向量、veq 文件中的量化向量和单个修正乘数浮点数,以及 vemq 文件中关于量化的元数据。 这里跟踪量化和向量配置以及该段的计算分位数。 因此,对于每个段,我们不仅存储量化向量,还存储用于生成这些量化向量的分位数和原始向量。那么,为什么我们还要保留原始向量呢? 量化向量的搜索性能明显快于原始向量,召回率通过多收集 5 个向量就可以快速恢复;见 quantized@15。 图 6 讲述了这个故事。虽然召回率有所不同,但这是预期的,并不显著。

    1.2K12编辑于 2024-07-05
  • 来自专栏DeepHub IMBA

    构建有记忆的 AI Agent:SQLite 存储 + 向量检索完整方案示例

    技术栈很简单: SQLite 做结构化存储 向量数据库(Pinecone、FAISS、Chroma 都行)处理语义检索 LLM 层负责反思和总结 这套架构可以直接集成到现有框架里,不管你用 LangChain :\n\nInput: {input_text}\nOutput: {output_text}\n" summary = llm.complete(summary_prompt) 然后把摘要转成向量存起来 向量检索能找到语义上相关但表述完全不同的内容,比传统的全文搜索要智能得多。 反思机制 有了记忆以后,还可以让 Agent 学会从记忆中学习。反思循环把被动的存储变成主动的能力提升。 完整流程 把这些组件串起来流程就是这样的: 1、用户请求进来,Agent 执行任务,同时把交互记录写入 SQLite 和向量库。 最简单的记忆功能实现起来并不复杂,SQLite 加个向量库,写几个精心设计的 prompt,就能让 Agent 开始进化了。

    59810编辑于 2025-11-15
  • 来自专栏一直在跳坑然后爬坑

    向量空间相关概念总结-向量

    n维向量: ? n维列向量 ? n维行向量 两个向量相等:大小相等,方向相同 ? 向量相等 向量的长度:就是起点与终点的距离,记作: ? 向量长度 向量的方向: 用向量和它坐标轴的夹角来表示,比如: ? 向量方向 向量平行:两个向量方向相同或相反就算平行 零向量:起点和终点是同一个点,零向量长度是0,注意,零向量与任何一个向量平行,他虽然长度为0,但是他却有无穷多的方向 基础运算 向量加法 当然,如果两个边共线了,那第三个边等于前两个边之和 向量数乘:就是一个向量乘以一个数。比如一个向量乘以k,几何意义就是这个向量放大了k倍,k如果是负数那方向就反过来了。 k如果是0的话那这个向量就变成零向量了。其实根据字面意思也好理解,就是k倍的某向量嘛,所以向量的各个维度都应该放大k倍,这样就好理解向量的代数表示了。

    1.3K20发布于 2018-10-10
  • 来自专栏QQ大数据团队的专栏

    节省 90% 存储!源码级揭秘腾讯云 ES 向量搜索的优化之道

    本篇文章将继续这一系列,聚焦于 Elasticsearch 中向量数据的存储与优化。 由于未启用向量索引,我们有理由认为该配置下,向量字段只会引发行存和列存的存储大小增长。 在“无索引”的配置下,列存.dvd大部分存储向量字段占据,在配置了向量字段的 Flat 索引后,该部分存储几乎 1:1 地转移到.vec类型的向量索引数据文件中。 行存裁剪优化 3.1 发现向量的冗余存储 在上一章节提到的几种索引模式中,我们不难发现以下几点: 向量字段无论索引与否,.fdt占据了整个存储的绝大部分 向量原始数值除了存储在.fdt外,无论索引与否, **这一显著的效果也说明,只要涉及了向量搜索,无论是纯向量还是混合场景,占据存储的大头基本来到了向量这里。

    69710编辑于 2025-02-24
  • 来自专栏用户画像

    中断向量 中断向量

    2、中断向量:早期的微机系统中将由硬件产生的中断标识码(中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址)称为中断向量。 在某些计算机中,中断向量的位置存放一条跳转到中断服务程序入口地址的跳转指令。 3、中断向量地址:存储中断向量存储单元地址。 存放:存放中断服务程序的入口地址,来存放中断向量(共256个),称这一片内存区为中断向量表。 当响应中断时,硬件自动执行相应中断向量处的跳转代码,然后跳转到具体的中断服务程序的入口地址。 综上所述:中断向量的地址一定是 中断服务程序的入口地址的地址,但中断向量不一定就是中断服务程序的入口地址。

    3.1K40发布于 2018-08-27
  • 来自专栏AI机器学习与深度学习算法

    简单理解向量向量的求导

    全文字数:1127字 阅读时间:8分钟 前言 本文引入向量向量求导的问题,向量向量求导的关键是最终求导向量的排列问题。 提出了向量向量求导的具体流程,最后以本文开头的向量求导为例具体展示向量向量求导的具体流程。 image.png image.png 不过为了方便我们在实践中应用,通常情况下即使y向量是列向量也按照行向量来进行求导。

    3.6K10发布于 2020-05-22
  • 来自专栏小小程序员——DATA

    支持向量机 支持向量机概述

    支持向量机概述 支持向量机 Support Vector MachineSVM ) 是一类按监督学习 ( supervisedlearning)方式对数据进行二元分类的广义线性分类器 (generalized linear classifier) ,其决策边界是对学习样本求解的最大边距超亚面 (maximum-margin hyperplane)与逻辑回归和神经网终相比,支持向量机,在学习复杂的非线性方程时提供了一种更为清晰 ,更加强大的方式 硬间隔、软间隔和非线性 SVM 假如数据是完全的线性可分的,那么学习到的模型可以称为硬间隔支持向量机。 算法思想 找到集合边缘上的若工数据 (称为支持向量 (Support Vector) )用这些点找出一个平面(称为决策面),使得支持向量到该平面的距离最大 超平面方程: \mathbf{w} ,支持向量到超平面的距离为 d,其他点到超平面的距离大于 d 至此可以得到最大间隔超平面的上下两个超平面: d=|\mathbf{w} \cdot \mathbf{x} + b | /||w||

    68111编辑于 2023-12-20
  • 来自专栏PaddlePaddle

    【词向量】Hsigmoid加速词向量训练

    本周推文目录如下: 周三:【词向量】Hsigmoid加速词向量训练 周四:【词向量】 噪声对比估计加速词向量训练 周五:【RNN语言模型】使用RNN语言模型生成文本 词向量用一个实向量表示词语,向量的每个维都表示文本的某种潜在语法或语义特征 这种表示方式比较简洁,但是当词表很大时,容易产生维度爆炸问题;而且任意两个词的向量是正交的,向量包含的信息有限。 为了避免或减轻one-hot表示的缺点,目前通常使用词向量来取代one-hot表示,词向量也就是word embedding,即使用一个低维稠密的实向量取代高维稀疏的one-hot向量。 网络输入为词在字典中的id,然后查询词向量词表获取词向量,接着拼接4个词的词向量,然后接入一个全连接隐层,最后是Hsigmoid层。详细网络结构见图2: ? 图2. name="sigmoid_w") bias_attr=paddle.attr.Param(name="sigmoid_b")) 需要注意在 PaddlePaddle 中,hsigmoid 层将可学习参数存储为一个

    1.3K80发布于 2018-03-15
  • 来自专栏一直在跳坑然后爬坑

    向量空间相关概念总结-向量空间

    什么是向量空间 特点: ① 包含向量 比如向量组,而且向量组内部的向量维数相同 ② 包含向量的运动 向量的加法->生成新的向量 向量的数乘->向量伸缩 ③ 向量的运动依然在空间中 向量相加生成的新向量也在这个空间中 向量数乘伸缩完之后也在这个空间中 定义: 如果一个向量组,它对向量的加法和数乘两种运算封闭,那么就称它为向量空间。 是指在这个向量空间中的向量进行数乘和加减,结果依然在这个向量空间内,即: ? 特殊的东西: ① 仅包含零向量向量空间称为0维向量空间 ② 向量空间必须包含0向量 ③ 最高次数大于等于零的多项式的全体也是一个向量空间,比如: ? 如何判断某个向量空间A是不是另一个向量空间B的子空间 ① 是不是包含原点,不包含原点的连向量空间都不是 ② A向量空间里的向量进行加法变换生成的新向量是否一定在B向量空间中 ③ A向量空间里的向量进行数乘变换后是否一定在

    2.2K20发布于 2018-10-10
领券