milvus写入数据python
时间: 2025-02-19 15:22:29 浏览: 70
### 使用Python向Milvus写入数据
为了实现通过Python向Milvus数据库写入数据的功能,`pymilvus`库提供了相应的接口支持。具体来说,在操作过程中会涉及到创建集合、定义字段以及插入数据等环节。
#### 创建集合并定义字段
在准备插入数据之前,需先确认目标集合已存在且结构合适。如果尚未创建,则应指定好各个字段及其属性:
```python
from pymilvus import CollectionSchema, FieldSchema, DataType, Collection
fields = [
FieldSchema(name="id", dtype=DataType.INT64, is_primary=True),
FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128)
]
schema = CollectionSchema(fields, "Example collection")
collection_name = 'example_collection'
try:
collection = Collection(name=collection_name, schema=schema)
except Exception as e:
print(f"Collection already exists or creation failed: {e}")
collection = Collection(name=collection_name)
```
上述代码片段展示了如何构建一个新的集合,并指定了两个字段:一个是整数类型的主键`id`;另一个是用于存储嵌入式的浮点型向量`embedding`[^1]。
#### 插入数据到分区
当一切就绪之后就可以调用`insert()`方法来进行实际的数据插入工作了。这里假设已经有一个名为`partitions`的对象列表包含了至少一个有效的分区实例:
```python
import random
# 假设 self.partitions 已经被初始化并且包含有效分区对象
partition = collection.partitions[0]
num_entities = 100
ids = [i for i in range(num_entities)]
embeddings = [[random.random() for _ in range(128)] for _ in range(num_entities)]
data = {
"id": ids,
"embedding": embeddings
}
mr = partition.insert(data)
print(mr.primary_keys[:5]) # 打印前五个插入实体的ID
```
这段脚本说明了怎样利用字典形式传递待插入记录给定的字段名作为键值对的方式完成批量加载过程。
阅读全文
相关推荐

















