get 还是 query

🎉摘要:详解Chroma向量数据库中get和query方法的区别与选择策略。get适用于按ID取数、字段筛选、关键词搜索及全量导出;query适用于语义相似度查询和找相似内容。掌握两者差异,助你高效使用Chroma进行向量检索。

前面分别介绍了 get 和 query 方法,那么,在实际使用中该如何正确选择呢?

下面通过几个简单需求和答案来简单分析:

需求使用
按 id 取原数据get(ids=...)
按某个字段筛出一批get(where=...)
导出全量get 分页
找相似内容query
搜关键词query + where_document或纯get(where_document=...)
按语义查询数据query

还有一点需要注意,使用 query 一定要有向量输入,而 get 不需要。如果你只是想“找包含'退款'两个字的文档”,用 get(where_document={"$contains": "退款"}) 就够了,不用 query,和 SQL 中的 like 一样。

简单总结,在什么情况下才使用 query,如果你想通过语义进行查询时才使用 query(语义查询需要计算向量,实际是向量距离的比较,由 Chroma 完成比较动作)。其他情况,均使用 get 进行查询。

说说我的看法
全部评论()
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号