Milvus向量数据库(一)Milvus存储byte[]类型源向量数据

news2024/11/25 20:36:57

两种路线:

  • 第一种是把byte[]转换为List< float >,然后存储到Milvus的floatVector中
  • 第二种是把byte[]转换为ByteBuffer,然后存储到Milvus的BinaryVector中

步骤:

  • 我先用的是第一种,但是在转换float过程中,报错NaN,某些数据无法转换,于是换第二种,伪代码如下
	//创建集合
	...
	//设置向量字段
	FieldType fieldType = FieldType.newBuilder()
                .withName("feature")
                .withDataType(DataType.BinaryVector)
                .withDimension(8256)
                .build();
    ...

	// 获取数据
	byte[] featureData= ...;
	// 转换数据
    ByteBuffer byteBuffer = ByteBuffer.wrap(featureData);
    // 注意这里修改position,不然会报错
    byteBuffer.position(byteBuffer.capacity());
    // 插入准备
    List<ByteBuffer> vector = new ArrayList<>();
    vector.add(byteBuffer);
    List<InsertParam.Field> fields = new ArrayList<>();
    fields.add(new InsertParam.Field("feature",vector));
	// 插入数据
	InsertParam insertParam = InsertParam.newBuilder()
          .withCollectionName(collection_name)
          .withFields(fields)
          .build();

    R<MutationResult> mutationResultR = milvusClient.insert(insertParam);

报错:Incorrect dimension for field ‘feature’: the no.0 vector’s dimension: 0 is not equal to field’s dimension: 1032

  • 解决思路:先百度谷歌,然后没找到解决办法,于是看报错位置,查源码,定位报错原因,如下
    在这里插入图片描述
  • 然后发现byte[]在经过ByteBuffer byteBuffer = ByteBuffer.wrap(featureData);这段代码转换时,position被默认设置为0,因此加入byteBuffer.position(byteBuffer.capacity());修改position值
  • 还有需要注意的是设置该字段的向量维度时,需要设置为byte[]的长度乘以8

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

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

相关文章

Python-VBA函数之旅-repr函数

目录 一、repr函数的常见应用场景 二、repr函数使用注意事项 三、如何用好repr函数&#xff1f; 1、repr函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、推荐阅读&#xff1a; 个人主页&#xff1a;https://blog.csdn.net/ygb_1024?spm1010.2135.…

mvc区域、Html.RenderAction、Html.RenderPartial、 模板、section

根据上图 Html.RenderPartial 与 Html.RenderAction 区别 RenderAction 会把对应的视图结果渲染 RenderPartial 会把html视图直接渲染 模板

十九、分布式数据库MyCat

目录 一、概述 1、MyCat是什么&#xff1f; 2、原理&#xff1a; 3、能干什么 1、读写分离 2、数据分片 3、多数据源整合 4、Mycat监控 4、安装部署 1、环境准备 2、安装 3、Mycat配置详解 1、server.xml user 标签 2、schema.xml schema标签&#xff1a; table标签&…

AI大模型探索之路-训练篇16:大语言模型预训练-微调技术之LoRA

系列篇章&#x1f4a5; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据集概…

最新闲鱼小众蓝海虚拟资源,单号日入300+,三天必起店,矩阵放大月入1-2W

详情介绍 本项目售卖的虚拟资源非常小众&#xff0c;宅男的最爱&#xff0c;并且市场一片蓝海&#xff01;只需一步手机&#xff0c;随时随地操作项目&#xff0c;流量巨大&#xff0c;安装教程方法操作三天必起店&#xff0c;消息多到回不过来&#xff0c;一天轻松出个大几十单…

封装Springboot基础框架功能-03

在些模块中汇总了一些web开发常用的配置和功能。 模块源码结构 Restful API常用定义 QueryParam请求参数 Data public class QueryParam {private String key;private String value; }RestfulController实现 RestfulController.java&#xff0c;主要汇总一些常用的restful的…

启明智显分享|国产RISC-V@480MHz“邮票孔”工业级HMI核心板,高品质低成本,仅34.9元!

「Model系列」芯片是启明智显针对工业、行业以及车载产品市场推出的系列HMI芯片&#xff0c;主要应用于工业自动化、智能终端HMI、车载仪表盘、串口屏、智能中控、智能家居、充电桩显示屏、储能显示屏、工业触摸屏等领域。此系列具有高性能、低成本的特点&#xff0c;支持工业宽…

响应式编程Spring Reactor探索

一&#xff0c;介绍 响应式编程&#xff08;Reactive Programming&#xff09;&#xff0c;简单来说是一种生产者只负责生成并发出数据/事件&#xff0c;消费者来监听并负责定义如何处理数据/事件的变化传递方式的编程思想。 响应式编程借鉴了Reactor设计模式&#xff0c;我们…

一文搞懂前端跨页面通信的那些方案们

前端开发逃避不开跨页面通信这项工作&#xff0c;跨页面通信&#xff0c;就好比A页面要和B页面说话&#xff0c;可能只是说一句话&#xff0c;不需要回话&#xff0c;可能是要给一些东西&#xff0c;希望得到回复&#xff0c;并频繁进行沟通&#xff0c;接下来我们说说这些跨页…

图搜索算法 - 拓扑排序

相关文章&#xff1a; 数据结构–图的概念 图搜索算法 - 深度优先搜索法&#xff08;DFS&#xff09; 图搜索算法 - 广度优先搜索法&#xff08;BFS&#xff09; 拓扑排序 概念 几乎所有的工程都可分为若干个称作活动的子工程&#xff0c;而这些子工程之间&#xff0c;通常受…

Figma 高效技巧:设计系统中的图标嵌套

Figma 高效技巧&#xff1a;设计系统中的图标嵌套 在设计中&#xff0c;图标起着不可或缺的作用。一套便捷易用的图标嵌套方法可以有效提高设计效率。 分享一下我在图标嵌套上走过的弯路和经验教训。我的图标嵌套可以分三个阶段&#xff1a; 第一阶段&#xff1a;建立图标库 一…

洛谷官方提单——【入门4】数组——python

洛谷官方提单——【入门4】数组 小鱼比可爱题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示代码 小鱼的数字游戏题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示数据规模与约定 代码 【深基5.例3】冰雹猜想题目描述输入格式输出格式样例 #1样例输入 …

24深圳杯ABCD成品论文47页+各小问代码+图表

A题多个火箭残骸的准确定位&#xff1a; A题已经更新完22页完整版论文&#xff0b;高清无水印照片&#xff0b;Python&#xff08;MATLAB&#xff09;代码简单麦麦https://www.jdmm.cc/file/2710544/ 问题1&#xff1a;单个残骸的音爆位置确定 建模思路&#xff1a; 1. 声波传…

Codeforces Round 942 (Div.1) (Div. 2) 2A~2D

2A.Contest Proposal&#xff08;枚举&#xff09; 题意&#xff1a; 一个竞赛包含 n n n个问题&#xff0c;第 i i i个问题的难度预计最多为 b i b_i bi​。现在已经有 n n n个问题提案&#xff0c;第 i i i个问题的难度为 a i a_i ai​。最初&#xff0c; a 1 , a 2 , … ,…

为什么现在越来越多的人会选择陪诊

现在越来越多的人选择陪诊的原因有多方面。 首先&#xff0c;随着人口老龄化、医疗资源分配不均等问题的日益突出&#xff0c;许多老年人和病患在就医过程中面临诸多困难&#xff0c;如挂号、排队、取药等繁琐的手续和流程。陪诊服务能够为他们提供极大的便利&#xff0c;帮助…

spring模块(六)spring监听器(2)@EventListener

一、介绍 监听器的简化写法 二、原理 三、使用 Slf4j Component public class MyTask {EventListenerpublic void onApplicationEvent(ApplicationEvent event) {if (event instanceof ContextRefreshedEvent) {log.info("监听到 ContextRefreshedEvent...");}if…

[图解]DDD架构好简单我学会了-学会也没啥用

1 00:00:03,720 --> 00:00:05,920 内部共有&#xff0c;首先是内部的 2 00:00:08,150 --> 00:00:09,220 所以不能说什么 3 00:00:09,630 --> 00:00:10,730 不能跟外部连在一起 4 00:00:10,740 --> 00:00:15,280 比如说&#xff0c;功能架构&#xff0c;可以吗 …

使用Linux命令时,前面加sudo和不加有什么区别?

在使用cmake命令编译时&#xff0c;前面加上sudo和不加主要有以下区别&#xff1a; 权限&#xff1a; 使用sudo&#xff1a;当您在命令前加上sudo时&#xff0c;表示您以超级用户的权限执行该命令。这通常用于需要访问受限制的系统文件或执行需要更高权限的操作。不使用sudo&am…

Swift 字符串和字符

字符串和字符 一、字符串字面量1、多行字符串字面量2、字符串字面量的特殊字符3、扩展字符串分隔符 二、初始化空字符串三、字符串可变性四、字符串是值类型五、使用字符六、连接字符串和字符七、字符串插值八、Unicode1、Unicode 标量2、可扩展的字形群集 九、计算字符数量十、…

『ZJUBCA Collaboration』WTF Academy 赞助支持

非常荣幸宣布&#xff0c;浙江大学区块链协会收到WTF Academy的赞助与支持&#xff0c;未来将共同开展更多深度合作。 WTF Academy是开发者的Web3开源大学&#xff0c;旨在通过开源教育让100,000名开发者进入到Web3。截止目前&#xff0c;WTF开源教程在GitHub收获超15,000 ⭐&a…