XueJian-Zhang

Results 6 comments of XueJian-Zhang

你好,我遇到了跟你一样的问题,创建milvus向量字段类型是FloatVector,然后插入的向量是这种的 ![企业微信截图_17163602043077](https://github.com/milvus-io/milvus-sdk-java/assets/74177936/631cfbdc-27bb-4ef4-bc7b-f621b3cc95c5) 但是获取到以后是这样的 ![企业微信截图_17163604598560](https://github.com/milvus-io/milvus-sdk-java/assets/74177936/c6071b2f-6230-4fa9-b011-92db37f3c18b) 请问有什么解决办法么?

> > 你好,我遇到了跟你一样的问题,创建milvus向量字段类型是FloatVector,然后插入的向量是这种的 ![企业微信截图_17163602043077](https://private-user-images.githubusercontent.com/74177936/332687949-631cfbdc-27bb-4ef4-bc7b-f621b3cc95c5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTYzNjEwMjQsIm5iZiI6MTcxNjM2MDcyNCwicGF0aCI6Ii83NDE3NzkzNi8zMzI2ODc5NDktNjMxY2ZiZGMtMjdiYi00ZWY0LWJjN2ItZjYyMWIzY2M5NWM1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTIyVDA2NTIwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRkMjE2NzQ5MzA4OWU1MTYxZDAyYzJmMTc5OWI0OTFmMDk0MzJiNGZlYTdjMTFlM2RlOGM3ZjgyYmZlYmUyZjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.yyP-IxzU_cxw41AwM4mQrA2QsWhv6akdZMmV8TC5_iE) 但是获取到以后是这样的 ![企业微信截图_17163604598560](https://private-user-images.githubusercontent.com/74177936/332688956-c6071b2f-6230-4fa9-b011-92db37f3c18b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTYzNjEwMjQsIm5iZiI6MTcxNjM2MDcyNCwicGF0aCI6Ii83NDE3NzkzNi8zMzI2ODg5NTYtYzYwNzFiMmYtNjIzMC00ZmE5LWIwMTEtOTJkYjM3ZjNjMThiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTIyVDA2NTIwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY0ZTlhMGVhOTYwYmVhN2ZhNjE0ZjY2ZmQwMjA4YWJjNTE0YmRlZjAzNzdkN2EyODdkNjdhYzcwMmVjOTRkNzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.pot-kBrUMO_XUt1aFpls54JyFvMN4ljyggNrCpqwnQ4) 请问有什么解决办法么? > > 请问你怎么生成的向量?然后怎么打印的向量 floatvector打印出来不可能有那么多位数的 这个是python一个自定义的工具类,用于提取照片的某些特征值生成的向量。

> 大概率你这个数据存错了,用了double格式。这点精度对于搜索不会有任何区别 经过提醒。我查看了代码。没有用double,因为定义集合时设置了向量类型是FloatVector,在存储数据时,不能用double格式的,那样会产生“Type mismatch for field 'feature': Float vector field's value type must be List”错误,所以用的List。然后存储的时候向量值是 ![企业微信截图_17163654011856](https://github.com/milvus-io/milvus-sdk-java/assets/74177936/e602d200-b30f-4145-9664-96e41ba7e2c4) ,但是在milvus的可视化平台中,存储的向量值和postman中发送的请求参数一致。 ![企业微信截图_17163652912278](https://github.com/milvus-io/milvus-sdk-java/assets/74177936/c490639a-6450-4606-ae37-c540ac5fd8d5)

> > 但是获取到以后是这样的 > > 请问你是用什么办法获取的? restful api? @XueJian-Zhang 直接调用milvus的api就可以获取到,网上有很多教程。你可以参考下这位博主的方法:https://blog.csdn.net/lsqingfeng/article/details/138212915

> > > 大概率你这个数据存错了,用了double格式。这点精度对于搜索不会有任何区别 > > > > > > 经过提醒。我查看了代码。没有用double,因为定义集合时设置了向量类型是FloatVector,在存储数据时,不能用double格式的,那样会产生“Type mismatch for field 'feature': Float vector field's value type must be List”错误,所以用的List。然后存储的时候向量值是 ![企业微信截图_17163654011856](https://private-user-images.githubusercontent.com/74177936/332715085-e602d200-b30f-4145-9664-96e41ba7e2c4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTYzNjkzMTUsIm5iZiI6MTcxNjM2OTAxNSwicGF0aCI6Ii83NDE3NzkzNi8zMzI3MTUwODUtZTYwMmQyMDAtYjMwZi00MTQ1LTk2NjQtOTZlNDFiYTdlMmM0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTIyVDA5MTAxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWViMTQyYTEwYzdkYTIwYzlmMzUzMTBhYjQwZmVmYjRiZjkzZTRkMzg5ZjAxYWZmZTAwMTA2MjdjNWJiMTc4ODImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.aJ6tks6FCORgU47kvY1anvMnMUSc2fpKuXI7FYMDUZ0) ,但是在milvus的可视化平台中,存储的向量值和postman中发送的请求参数一致。 ![企业微信截图_17163652912278](https://private-user-images.githubusercontent.com/74177936/332715144-c490639a-6450-4606-ae37-c540ac5fd8d5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTYzNjkzMTUsIm5iZiI6MTcxNjM2OTAxNSwicGF0aCI6Ii83NDE3NzkzNi8zMzI3MTUxNDQtYzQ5MDYzOWEtNjQ1MC00NjA2LWFlMzctYzU0MGFjNWZkOGQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTIyVDA5MTAxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAzZjFlOWQ4YjhiMTk0NzFkMDZjZTBhMjJjNzdkMTY5ODVjZTM5NDM5MzM3ZTcyY2Y1MjU1M2JiZmQ2YTZkNDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.g-lFo7JO0OOmRkBuHCBBLvkne0Ev_FCsh0oq5e2yBdw) > > 他们目前不支持double,至于attu客户端显示的向量小数位数,是因为js会自动补小数,并不能当真。 好的,谢谢。

> python/javascript这些语言的浮点型是跟系统的位数走的,64位系统就会以64位来表示浮点数,但实际上在调用milvus rpc接口的时候其实都是以float32传输。对于用户来说就像变了个魔术似的。 但java是强制要求Float也就是32位输入,熟悉java的用户不应该有这种迷惑。 以32位浮点输入就已经明确告诉你向量在后台是以32位数据传输,存储,以及计算。所以它根本不可能再变出64位精度的小数给你。 向量近似近邻检索已经是一个模糊检索的概念,用来比对相似的事物。如果说我们要比较两张人脸是否相似,难道我们会去关心这两人的头发数量是否相等么?在大部分场景下,用64位精度的向量就相当于掩耳盗铃,非但对召回率没什么影响,计算负载和内存负载还大了一倍,得不偿失。 你好,我使用python的两种方式查询了同一个id的向量值,可是得到的向量值却不相同,一种是根据向量id,另一种是根据向量值。请问为什么查询结果向量值的精度会不一样呢? ![企业微信截图_17164599374880](https://github.com/milvus-io/milvus-sdk-java/assets/74177936/4a92cc97-f603-477d-870d-10d284cdf8ce)