1. 连接Milvus并创建第一个集合

连接Milvus并创建第一个集合 学习卡片

任务说明

本案例目标:使用 Milvus Python SDK 连接本地 Milvus 服务,创建第一个集合,并完成基础参数配置。完成后,你将拥有一个可写入数据的空集合,为后续向量检索案例提供基础。

环境准备

确保已安装 Milvus 服务(本案例使用 Milvus 2.x 版本)及 Python SDK:

pip install pymilvus==2.4.9

实现代码

from pymilvus import (
    connections,
    utility,
    FieldSchema,
    CollectionSchema,
    DataType,
    Collection,
)

# 1. 连接 Milvus 服务
connections.connect(alias="default", host="localhost", port="19530")
print("连接成功")

# 2. 定义集合名称
collection_name = "demo_collection"

# 3. 若集合已存在,先删除以便重复运行
if utility.has_collection(collection_name):
    utility.drop_collection(collection_name)

# 4. 定义字段
fields = [
    FieldSchema(name="id", dtype=DataType.INT64, is_primary=True, auto_id=False),
    FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=8),
]

# 5. 创建集合模式
schema = CollectionSchema(fields=fields, description="第一个测试集合")

# 6. 创建集合(不创建索引)
collection = Collection(name=collection_name, schema=schema)
print(f"集合 {collection_name} 创建成功")

# 7. 验证集合信息
print(f"集合名称: {collection.name}")
print(f"字段列表: {[field.name for field in collection.schema.fields]}")
print(f"向量维度: {collection.schema.fields[1].params['dim']}")
print(f"集合行数: {collection.num_entities}")

关键说明

  • 连接参数:host 和 port 需与本地 Milvus 服务实际地址一致,默认端口为 19530。
  • 字段设计:主键 id 为 INT64 类型,向量字段 embedding 为 8 维浮点向量(维度可根据实际需求调整)。
  • 集合删除:代码开头检查并删除同名集合,确保脚本可重复执行而不报错。
  • 索引说明:本案例仅创建集合,未创建索引。索引创建将在后续案例中单独演示。

运行与验证

  1. 启动 Milvus 服务(默认本地 standalone 模式)。
  2. 运行上述 Python 脚本。
  3. 观察输出:若显示“连接成功”“集合 demo_collection 创建成功”,且集合行数为 0,则说明集合创建成功。

判定标准:脚本无异常退出,输出信息与代码逻辑一致,且通过 utility.has_collection("demo_collection") 可查询到该集合存在。

预期输出

连接成功
集合 demo_collection 创建成功
集合名称: demo_collection
字段列表: ['id', 'embedding']
向量维度: 8
集合行数: 0
连接Milvus并创建集合 — 流程与数据布局 Python SDK 1. connect() 2. 定义字段 id: INT64 (主键) 3. Collection() embedding: FLOAT_VECTOR gRPC Milvus 服务 连接管理 Schema 校验 元数据存储 demo_collection 字段名 | 类型 id | INT64 (PK) embedding | FLOAT_VECTOR 维度: 8 | 行数: 0 创建