Spaces:
Configuration error
Configuration error
File size: 2,239 Bytes
24f3fb6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
from qdrant_client import QdrantClient
from core.clients import get_qdrant
from core.config import QDRANT_COLLECTION
from qdrant_client.http.models import PointStruct
client = get_qdrant()
collection_name = QDRANT_COLLECTION
# 2. Recreate with named vectors
from qdrant_client.http.models import VectorParams, Distance, VectorParamsDiff
from qdrant_client.models import CreateAliasOperation, CreateAlias, DeleteAliasOperation
#new_collection_name = f"{collection_name}_v2"
#client.create_collection(
# collection_name=new_collection_name,
# vectors_config={
# "clip_text_embedding": VectorParams(size=512, distance=Distance.COSINE),
# "clip_image_embedding": VectorParams(size=512, distance=Distance.COSINE),
# "dinov2_embedding": VectorParams(size=1024, distance=Distance.COSINE)
# }
#)
# Step 1: Create a temporary alias for the old collection
client.update_collection_aliases(
change_aliases_operations=[
CreateAliasOperation(
create_alias=CreateAlias(
collection_name="object_collection",
alias_name="object_collection_v1"
)
)
]
)
print("β Created temporary alias: 'object_collection_v1' points to old collection")
# Step 2: Delete the old collection (now accessible via object_collection_old)
client.delete_collection("object_collection")
print("β Deleted old collection (still accessible as 'object_collection_v1')")
# Step 3: Create the main alias pointing to your new collection
client.update_collection_aliases(
change_aliases_operations=[
CreateAliasOperation(
create_alias=CreateAlias(
collection_name="object_collection_v2",
alias_name="object_collection"
)
)
]
)
print("β Created main alias: 'object_collection' now points to 'object_collection_v2'")
# Step 4: Clean up - delete the temporary alias (optional)
#client.update_collection_aliases(
# change_aliases_operations=[
# DeleteAliasOperation(
# delete_alias="object_collection_old"
# )
# ]
#)
#print("β Cleaned up temporary alias")
print("\nπ Swap complete! 'object_collection' now uses your new collection with DINOv2 support")
|