{"record":{"id":"8880863578277b63","repo":"zylon-ai/private-gpt","slug":"vector-store-settings-vectorstore-database-is","errorCode":null,"errorMessage":"Vector store '{settings.vectorstore.database}' is not supported. Available: {available}","messagePattern":"Vector store '(.+?)' is not supported\\. Available: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"private_gpt/components/vector_store/vector_store_component.py","lineNumber":48,"sourceCode":"    _factory: VectorStoreFactory\n    _embedding_component: EmbeddingComponent\n\n    @inject\n    def __init__(\n        self,\n        settings: Settings,\n        embedding_component: EmbeddingComponent,\n    ) -> None:\n        from private_gpt.components.vector_store.qdrant_factory import (\n            QdrantVectorStoreFactory,\n        )\n\n        self._settings = settings\n        all_providers = {\"qdrant\": QdrantVectorStoreFactory, **_PROVIDERS}\n        provider = all_providers.get(settings.vectorstore.database)\n        if provider is None:\n            available = \", \".join(sorted(all_providers)) or \"none\"\n            raise ValueError(\n                f\"Vector store '{settings.vectorstore.database}' is not supported. \"\n                f\"Available: {available}\"\n            )\n\n        embed_dim: int = settings.vectorstore.embed_dim\n        embed_models = embedding_component.embed_models\n        if len(embed_models) > 1:\n            logger.warning(\n                \"Multiple embedding models are configured, \"\n                \"but VectorStoreComponent only supports one. \"\n                \"Using the first one found: %s\",\n                next(iter(embed_models)),\n            )\n\n        if embed_models:\n            first_embed_model = next(iter(embed_models.values()))\n            embed_dim = first_embed_model.embed_dim or embed_dim\n","sourceCodeStart":30,"sourceCodeEnd":66,"githubUrl":"https://github.com/zylon-ai/private-gpt/blob/4a030776a31a901ad80b1bf4d7faa2c1a367efbb/private_gpt/components/vector_store/vector_store_component.py#L30-L66","documentation":"ValueError raised by VectorStoreComponent.__init__ when settings.vectorstore.database is not a key in the provider map ({'qdrant': QdrantVectorStoreFactory, **_PROVIDERS}). The message lists the sorted set of supported provider names, so it doubles as a discovery aid.","triggerScenarios":"Setting vectorstore.database to a misspelled or unregistered value (e.g. 'Qdrant', 'chroma' when no chroma plugin registered, 'postgres'); raising happens at component construction (startup), making it fail-fast.","commonSituations":"Typos and case mismatches in settings/env vars (VECTORSTORE_DATABASE=qdrant vs 'Qdrant'); docs referencing a provider that requires an extra plugin registering into _PROVIDERS; version upgrades removing a provider.","solutions":["Set vectorstore.database to one of the names listed in the error message (exact case, e.g. 'qdrant')","If a non-default provider is wanted, install/enable the component that registers it into _PROVIDERS before startup","Print sorted({**_PROVIDERS}) or check the error message output to confirm available names"],"exampleFix":"# before (settings)\nvectorstore:\n  database: Qdrant  # wrong case\n# after\nvectorstore:\n  database: qdrant","handlingStrategy":"validation","validationCode":"from private_gpt.components.vector_store.vector_store_component import _PROVIDERS\n\n_ALLOWED = {\"qdrant\", *_PROVIDERS}\nassert settings.vectorstore.database in _ALLOWED, (\n    f\"vectorstore.database must be one of {sorted(_ALLOWED)}\"\n)","typeGuard":null,"tryCatchPattern":"try:\n    component = VectorStoreComponent(settings, embedding_component)\nexcept ValueError as e:\n    if \"is not supported\" in str(e):\n        # read the Available list from the message, fix the setting, restart\n        raise","preventionTips":["Normalize vectorstore.database (strip/lower) in config loading","Validate provider names at startup; this component already fails fast — keep it that way","When adding plugins, log the effective provider map at boot"],"tags":["configuration","vector-store","provider-registry","startup"],"backgroundTag":null,"analyzedSha":"4a030776a31a901ad80b1bf4d7faa2c1a367efbb","analyzedAt":"2026-08-15T03:51:26.951Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}