Spaces:
Configuration error
Configuration error
| 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") | |