mem0ai/mem0 · error · ValueError
Unsupported Embedder provider: {provider_name}
Error message
Unsupported Embedder provider: {provider_name} What it means
Thrown by EmbedderFactory.create when provider_name is not in its provider_to_class mapping. Only these embedder keys are accepted: openai, ollama, huggingface, azure_openai, gemini, vertexai, together, lmstudio, langchain, aws_bedrock, fastembed (plus the special-case 'upstash_vector' with vector_config.enable_embeddings which returns MockEmbeddings).
Source
Thrown at mem0/utils/factory.py:177
"vertexai": "mem0.embeddings.vertexai.VertexAIEmbedding",
"together": "mem0.embeddings.together.TogetherEmbedding",
"lmstudio": "mem0.embeddings.lmstudio.LMStudioEmbedding",
"langchain": "mem0.embeddings.langchain.LangchainEmbedding",
"aws_bedrock": "mem0.embeddings.aws_bedrock.AWSBedrockEmbedding",
"fastembed": "mem0.embeddings.fastembed.FastEmbedEmbedding",
}
@classmethod
def create(cls, provider_name, config, vector_config: Optional[dict]):
if provider_name == "upstash_vector" and vector_config and vector_config.enable_embeddings:
return MockEmbeddings()
class_type = cls.provider_to_class.get(provider_name)
if class_type:
embedder_instance = load_class(class_type)
base_config = BaseEmbedderConfig(**config)
return embedder_instance(base_config)
else:
raise ValueError(f"Unsupported Embedder provider: {provider_name}")
class VectorStoreFactory:
provider_to_class = {
"qdrant": "mem0.vector_stores.qdrant.Qdrant",
"chroma": "mem0.vector_stores.chroma.ChromaDB",
"pgvector": "mem0.vector_stores.pgvector.PGVector",
"milvus": "mem0.vector_stores.milvus.MilvusDB",
"upstash_vector": "mem0.vector_stores.upstash_vector.UpstashVector",
"azure_ai_search": "mem0.vector_stores.azure_ai_search.AzureAISearch",
"azure_mysql": "mem0.vector_stores.azure_mysql.AzureMySQL",
"pinecone": "mem0.vector_stores.pinecone.PineconeDB",
"mongodb": "mem0.vector_stores.mongodb.MongoDB",
"redis": "mem0.vector_stores.redis.RedisDB",
"valkey": "mem0.vector_stores.valkey.ValkeyDB",
"databricks": "mem0.vector_stores.databricks.Databricks",
"elasticsearch": "mem0.vector_stores.elasticsearch.ElasticsearchDB",
"vertex_ai_vector_search": "mem0.vector_stores.vertex_ai_vector_search.GoogleMatchingEngine",View on GitHub (pinned to 001c235229)
Solutions
- Set embedder.provider to an exact key of EmbedderFactory.provider_to_class (openai, azure_openai, gemini, vertexai, together, ollama, huggingface, fastembed, lmstudio, langchain, aws_bedrock)
- Note it is 'vertexai' (no underscore) for embeddings but 'vertex_ai_vector_search' for the vector store
- For local embeddings use 'huggingface' or 'fastembed' rather than unregistered names
- If using Upstash vector store built-in embeddings, configure it via vector_store config with enable_embeddings, not the embedder section
Example fix
// before
config = {"embedder": {"provider": "vertex_ai"}}
Memory.from_config(config)
# after
config = {"embedder": {"provider": "vertexai"}}
Memory.from_config(config) Defensive patterns
Strategy: validation
Validate before calling
from mem0.utils.factory import EmbedderFactory
provider = cfg['embedder']['provider']
if provider not in EmbedderFactory.provider_to_class:
raise ConfigError(f"unknown embedder {provider!r}; valid: {sorted(EmbedderFactory.provider_to_class)}") Type guard
def is_known_embedder(p: str) -> bool:
from mem0.utils.factory import EmbedderFactory
return isinstance(p, str) and p in EmbedderFactory.provider_to_class Try / catch
try:
memory = Memory.from_config(config)
except ValueError as e:
if 'Unsupported Embedder provider' in str(e):
raise ConfigError(str(e)) from e
raise Prevention
- Remember embedder keys differ from vector-store keys ('vertexai' vs 'vertex_ai_vector_search')
- Validate the whole config at app startup with a schema that enumerates allowed provider keys
- Log the supported list once at boot: EmbedderFactory.provider_to_class.keys()
When it happens
Trigger: Setting config {'embedder': {'provider': 'sentence_transformers'}} (not registered — use 'huggingface' or 'sentence_transformer' reranker category instead); using 'azure' instead of 'azure_openai'; using 'vertex_ai' instead of 'vertexai'; using 'cohere' which has no embedder in this factory; enabling an embedder provider with a name that only exists in the LLM factory.
Common situations: Copy-pasting a provider name from the LLM or vector-store docs into the embedder section; assuming every provider mem0 supports for LLMs also supports embeddings; spelling 'huggingface' as 'hugging_face'.
Related errors
- Unsupported Llm provider: {provider_name}
- Unsupported VectorStore provider: {provider_name}
- Unsupported reranker provider: {provider_name}
- When embeddings are enabled, all payloads must contain a 'da
- Unknown embedder provider: ${providerId}
AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15).
Data as JSON: /api/errors/489480e9eaa18cd4.
Report an issue: GitHub.