Milvus
Milvus 创建一个收藏
在 Milvus 中,集合用于存储和管理实体。 Milvus 集合相当于关系数据库管理系统(RDBMS)中的表。
请参阅 “创建收藏集”,了解如何在 Milvus 中创建收藏集。
Milvus插入数据
Milvus 支持标量字段的默认值,但主键字段除外。 在数据插入期间,可以将某些字段保留为空。
有关详细信息,请参阅For more information, see 插入条目。
建议分批插入数据,原因如下:
-
单个 GRPC API 调用中可提取的向量数量受以下限制:Kafka。 在 IBM Cloud中,消息大小的最大限制限制为 1 MB。
-
一次可插入的最大行数取决于您尝试采集的数据的总大小。 随着向量维数的增加和行中非向量字段的存在,精确数字会减少。
使用批量插入 API 来插入大于 500,000 个向量的数据集。 在采集更大的数据集时,批量插入 API 的性能优于批量插入 API。 使用.npy文件是处理大型数据集的推荐方法。 如果要使用批处理插入 API,请在每 500,000 行之后手动清空集合。 有关详细信息,请参阅For more information, see 批量插入 API。
Milvus创建索引
Milvus进行近似最近邻(ANN)搜索之前,请先创建索引。
IBM 正式支持以下索引:
未在此列表中列出的索引可能有效,但 IBM不会验证这些索引。
当一段中的行数少于1024时,Milvus 将不会为该段创建任何索引。 相反,它将默认使用 brute-force
进行查询操作。 一旦段中的行数超过此阈值,Milvus 将自动开始构建索引。
- 新南威尔士州
- SCANN
- FLAT
- IVF_FLAT
- IVF_PQ
您可以通过指定向量字段名称和索引参数来创建索引。 有关详细信息,请参阅For more information, see 索引向量场。
Milvus进行向量相似性搜索
在 Milvus 中,您可以在为搜索场景准备参数后进行向量相似性搜索。
- 有关单向量和多向量搜索的更多信息,请参阅 向量相似性搜索。
- 有关混合(多向量)搜索的详细信息,请参阅 混合搜索。
- 如需了解有关混合动力的更多信息,请通过 GroupBy 搜索,查看 混合动力 GroupBy 搜索 中的 GroupBy 增强功能部分。
Milvus基于标量过滤进行查询
在 Milvus 中,您可以根据标量过滤进行查询。 有关详细信息,请参阅For more information, see 获取和标量查询。
您可以执行以下搜索类型:
- 范围搜索:查找距离查询向量特定距离范围内的向量。 有关详细信息,请参阅For more information, see 范围搜索。
- 分组检索:按照特定字段获取结果,保证结果的多样性。 有关详细信息,请参阅For more information, see 分组搜索。
在大型数据集上运行具有标量过滤的搜索查询时,调整限制参数以有效管理查询结果很重要。 使用以下方法来设置 limit
范围:
hello_milvus.query(expr=query_condition, output_fields=["random", "embeddings"], limit=100,offset=0)
值的总和 limit
和 offset
参数必须在范围内[1,16384]。
使用主键从 Milvus 中删除实体
在 Milvus 中,您可以使用主键删除实体。 准备过滤要删除的实体的布尔表达式。
有关更多信息,请参阅 删除实体。
Milvus
一旦Milvus腕表,就再也回不去了。 无法恢复已删除的数据。
在您的 .ipynb
或 Python 脚本中添加以下内容,以删除一个集合。
from pymilvus import utility
utility.drop_collection(<collection name>)
最佳实践
以下是一些最佳做法:
- 如果存在长字符串(超过256个字符),请将非矢量字段保留在 Milvus 之外。 您可以将它们保存在 COS 存储桶或存储桶中并执行参考搜索。
- 确保PyMilvus版本是2.4.0或更高版本。 Milvus 2.4.0 及以上版本支持稀疏向量搜索、混合搜索(
sparse_dense
) 以及多向量搜索。 - 使用批量插入加载集合时,请遵循以下模式:批量插入,释放内存,然后重复该过程。
- 不要同时并行提取所有集合。 按顺序摄取并在摄取之间冲洗。
- 每个集合的最大尺寸应与 T 恤尺寸所支持的最大矢量数量相对应。
- 如果加载了多个集合或分区,请确保所有加载实体中的向量总和不超过 T-shirt 大小的限制。 只要加载的矢量数量在限制范围内,您仍然可以存储比 T 恤尺寸限制更多的矢量。
在 Milvus 升级期间,响应可能会稍有延迟,大约20秒。 正在进行的搜索和向上插入查询可能会失败。 您可以立即重试查询。
笔记本样本 Milvus
通过这些示例笔记本,您可以按照分步教程试用 Milvus 功能。 如需查看笔记本样本,请访问 Milvus 笔记本样本。