from pymilvus import MilvusClient
from pymilvus import DataType
milvus_client = MilvusClient(
uri="http://milvus-xxx.milvus.ivolces.com:19530",
token="<user>:<password>",
def create_collection_if_not_exists(collection_name):
if collection_name in milvus_client.list_collections():
schema = MilvusClient.create_schema(
enable_dynamic_field=True,
schema.add_field(field_name="id", datatype=DataType.INT64, is_primary=True, auto_id=True)
schema.add_field(field_name="image_path", datatype=DataType.VARCHAR, max_length=512)
schema.add_field(field_name="image_embedding", datatype=DataType.FLOAT_VECTOR, dim=2048)
schema.add_field(field_name="image_description", datatype=DataType.VARCHAR, max_length=1024)
schema.add_field(field_name="image_desc_embedding", datatype=DataType.FLOAT_VECTOR, dim=2048)
index_params = milvus_client.prepare_index_params()
field_name="image_embedding",
field_name="image_description",
field_name="image_desc_embedding",
milvus_client.create_collection(
collection_name=collection_name,
index_params=index_params,
consistency_level="Bounded",
print(f"Created collection {collection_name}")