mem0ai/mem0 · error · ValueError

Unsupported VectorStore provider: {provider_name}

Error message

Unsupported VectorStore provider: {provider_name}

What it means

Thrown by VectorStoreFactory.create when provider_name is not a key in its provider_to_class mapping. Mem0 registers 26 vector store keys (qdrant, chroma, pgvector, milvus, upstash_vector, azure_ai_search, azure_mysql, pinecone, mongodb, redis, valkey, databricks, elasticsearch, vertex_ai_vector_search, opensearch, supabase, weaviate, faiss, langchain, s3_vectors, baidu, cassandra, neptune, turbopuffer, oracledb) and rejects everything else.

Source

Thrown at mem0/utils/factory.py:218

        "langchain": "mem0.vector_stores.langchain.Langchain",
        "s3_vectors": "mem0.vector_stores.s3_vectors.S3Vectors",
        "baidu": "mem0.vector_stores.baidu.BaiduDB",
        "cassandra": "mem0.vector_stores.cassandra.CassandraDB",
        "neptune": "mem0.vector_stores.neptune_analytics.NeptuneAnalyticsVector",
        "turbopuffer": "mem0.vector_stores.turbopuffer.TurbopufferDB",
        "oracledb": "mem0.vector_stores.oracledb.OracleAIVectorSearch",
    }

    @classmethod
    def create(cls, provider_name, config):
        class_type = cls.provider_to_class.get(provider_name)
        if class_type:
            if not isinstance(config, dict):
                config = config.model_dump()
            vector_store_instance = load_class(class_type)
            return vector_store_instance(**config)
        else:
            raise ValueError(f"Unsupported VectorStore provider: {provider_name}")

    @classmethod
    def reset(cls, instance):
        instance.reset()
        return instance


class RerankerFactory:
    """
    Factory for creating reranker instances with appropriate configurations.
    Supports provider-specific configs following the same pattern as other factories.
    """

    # Provider mappings with their config classes
    provider_to_class = {
        "cohere": ("mem0.reranker.cohere_reranker.CohereReranker", CohereRerankerConfig),
        "sentence_transformer": (
            "mem0.reranker.sentence_transformer_reranker.SentenceTransformerReranker",

View on GitHub (pinned to 001c235229)

Solutions

  1. Set vector_store.provider to an exact key of VectorStoreFactory.provider_to_class (print it at runtime if unsure)
  2. Use 'pgvector' for Postgres, 'azure_ai_search' for Azure AI Search, 'vertex_ai_vector_search' for Vertex AI
  3. For unlisted backends, route through the 'langchain' vector store provider
  4. Verify the key exists in your installed mem0 version — new stores are added over releases

Example fix

// before
config = {"vector_store": {"provider": "postgres", "config": {...}}}
Memory.from_config(config)

# after
config = {"vector_store": {"provider": "pgvector", "config": {...}}}
Memory.from_config(config)
Defensive patterns

Strategy: validation

Validate before calling

from mem0.utils.factory import VectorStoreFactory
provider = cfg['vector_store']['provider']
if provider not in VectorStoreFactory.provider_to_class:
    raise ConfigError(f"unknown vector store {provider!r}; valid: {sorted(VectorStoreFactory.provider_to_class)}")

Type guard

def is_known_vector_store(p: str) -> bool:
    from mem0.utils.factory import VectorStoreFactory
    return isinstance(p, str) and p in VectorStoreFactory.provider_to_class

Try / catch

try:
    memory = Memory.from_config(config)
except ValueError as e:
    if 'Unsupported VectorStore provider' in str(e):
        raise ConfigError(str(e)) from e
    raise

Prevention

When it happens

Trigger: Setting vector_store.provider to 'postgres' instead of 'pgvector'; using 'azure_search' instead of 'azure_ai_search'; using 'vertexai' instead of 'vertex_ai_vector_search'; using 'elastic' instead of 'elasticsearch'; using 'memory' or 'in_memory' instead of a real backend; calling VectorStoreFactory.create directly with a class name instead of the registry key.

Common situations: Config copied from an older mem0 version where a key was renamed; assuming the vector store name matches the product's marketing name; mixing up embedder keys ('vertexai') with vector store keys ('vertex_ai_vector_search').

Related errors


AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15). Data as JSON: /api/errors/e22d065b72862b2b. Report an issue: GitHub.