Handle Qdrant create_collection wait support

This commit is contained in:
george
2026-06-06 00:00:19 +01:00
parent 67d5d6d16a
commit fbddfc51d2
+15 -12
View File
@@ -67,20 +67,23 @@ def get_embedding_size() -> int:
def create_collection(client: Any, collection_name: str, size: int, distance: Any) -> None: def create_collection(client: Any, collection_name: str, size: int, distance: Any) -> None:
"""Create a Qdrant collection across qdrant-client keyword changes.""" """Create a Qdrant collection across qdrant-client keyword changes."""
vector_params = VectorParams(size=size, distance=distance) vector_params = VectorParams(size=size, distance=distance)
variants = (
{"vectors_config": vector_params, "wait": True},
{"vectors_config": vector_params},
{"vectors": vector_params, "wait": True},
{"vectors": vector_params},
)
last_error = None
for kwargs in variants:
try: try:
client.create_collection( client.create_collection(collection_name=collection_name, **kwargs)
collection_name=collection_name, return
vectors_config=vector_params, except (AssertionError, TypeError, ValueError) as exc:
wait=True, last_error = exc
) message = str(exc)
except TypeError as exc: if not any(key in message for key in ("Unknown arguments", "vectors", "wait")):
if "vectors_config" not in str(exc):
raise raise
client.create_collection( raise RuntimeError(f"Could not create Qdrant collection: {last_error}")
collection_name=collection_name,
vectors=vector_params,
wait=True,
)
async def ensure_collection(vector_size: Optional[int] = None) -> Dict[str, Any]: async def ensure_collection(vector_size: Optional[int] = None) -> Dict[str, Any]: