agentscope-ai/agentscope · error · ValueError

f"Unsupported embedding provider: {provider}"

Error message

f"Unsupported embedding provider: {provider}"

What it means

The embedder config subclass mirrors the LLM validator: only provider == 'agentscope' passes; any other value in the embedder block raises 'Unsupported embedding provider' during mem0 config validation.

Source

Thrown at src/agentscope/middleware/_longterm_memory/_mem0/_agentscope_adapter.py:435

            else with mem0's original error."""
            provider = values.data.get("provider")
            if provider == _AGENTSCOPE_PROVIDER:
                return v
            raise ValueError(f"Unsupported LLM provider: {provider}")

    class _AgentScopeEmbedderConfig(EmbedderConfig):
        """``EmbedderConfig`` subclass that accepts the AgentScope
        provider."""

        @field_validator("config")
        @classmethod
        def validate_config(cls, v: Any, values: Any) -> Any:
            """Allow ``provider == "agentscope"``; reject everything
            else with mem0's original error."""
            provider = values.data.get("provider")
            if provider == _AGENTSCOPE_PROVIDER:
                return v
            raise ValueError(
                f"Unsupported embedding provider: {provider}",
            )

    return _AgentScopeLlmConfig, _AgentScopeEmbedderConfig

View on GitHub (pinned to e90f1c7592)

Solutions

  1. Set the embedder block's provider to 'agentscope'
  2. Use build_mem0_config(chat_model=..., embedding_model=...) to generate valid blocks

Example fix

// before
embedder={'provider': 'openai'}
// after
embedder={'provider': 'agentscope'}
Defensive patterns

Strategy: validation

Validate before calling

assert embedder_block.get('provider') == 'agentscope', 'embedder provider must be "agentscope"'

Try / catch

try:
    MemoryConfig(**cfg)
except ValueError as e:
    if 'Unsupported embedding provider' in str(e):
        cfg['embedder']['provider'] = 'agentscope'
    else:
        raise

Prevention

When it happens

Trigger: MemoryConfig(embedder={'provider': 'huggingface', ...}) or 'openai' while using the agentscope embedder config class; case/whitespace typos.

Common situations: Copying stock mem0 embedder dicts into an agentscope-based MemoryConfig.

Related errors


AI-assisted analysis of agentscope-ai/agentscope@e90f1c7592 (2026-08-28). Data as JSON: /api/errors/24519db652993dd5. Report an issue: GitHub.