fix: harden task3 qdrant compatibility boundaries
This commit is contained in:
@@ -32,12 +32,20 @@ def build_vector_store(cfg: Config, *, require_write: bool = False) -> VectorSto
|
||||
|
||||
match resource.type:
|
||||
case "qdrant":
|
||||
expected_dimension = cfg.embeddings.dim if cfg.embeddings is not None else None
|
||||
if resource.collection_lifecycle == "require_existing" and (
|
||||
expected_dimension is None or expected_dimension <= 0
|
||||
):
|
||||
raise ConfigError(
|
||||
"require_existing Qdrant vectors require an explicit positive embedding dimension"
|
||||
)
|
||||
return QdrantVectorStore(
|
||||
base_url=resource.base_url,
|
||||
collection=resource.collection,
|
||||
workspace_id=cfg._workspace_id,
|
||||
workspace_revision=cfg._workspace_revision,
|
||||
expected_dimension=cfg.embeddings.dim if cfg.embeddings is not None else None,
|
||||
expected_dimension=expected_dimension,
|
||||
expected_distance="Cosine",
|
||||
collection_lifecycle=resource.collection_lifecycle,
|
||||
)
|
||||
case other: # pragma: no cover - Pydantic's discriminator rejects this first.
|
||||
|
||||
Reference in New Issue
Block a user