Handle Qdrant create_collection wait support

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