BerriAI/litellm · error · Exception

Invalid api base. api_base=None. Set in call or via `COHERE_

Error message

Invalid api base. api_base=None. Set in call or via `COHERE_API_BASE` env var.

What it means

Credential/API-base resolution guard for Cohere rerank: no api_base was provided in the call, optional params, litellm global, or the COHERE_API_BASE env var, so there is no endpoint to send the rerank request to.

Source

Thrown at litellm/rerank_api/main.py:203

        # Implement rerank logic here based on the custom_llm_provider
        if (
            _custom_llm_provider == litellm.LlmProviders.COHERE
            or _custom_llm_provider == litellm.LlmProviders.LITELLM_PROXY
        ):
            # Implement Cohere rerank logic
            api_key: str | None = dynamic_api_key or optional_params.api_key or litellm.api_key

            api_base: str | None = (
                dynamic_api_base
                or optional_params.api_base
                or litellm.api_base
                or get_secret("COHERE_API_BASE")
                or "https://api.cohere.com"
            )

            if api_base is None:
                raise Exception("Invalid api base. api_base=None. Set in call or via `COHERE_API_BASE` env var.")
            response = base_llm_http_handler.rerank(
                model=model,
                custom_llm_provider=_custom_llm_provider,
                provider_config=rerank_provider_config,
                optional_rerank_params=optional_rerank_params,
                logging_obj=litellm_logging_obj,
                timeout=optional_params.timeout,
                api_key=api_key,
                api_base=api_base,
                _is_async=_is_async,
                headers=headers or litellm.headers or {},
                client=client,
                model_response=model_response,
                litellm_params=rerank_litellm_params,
            )
        elif _custom_llm_provider == litellm.LlmProviders.AZURE_AI:
            api_base = (
                dynamic_api_base  # for deepinfra/perplexity/anyscale/groq/friendliai we check in get_llm_provider and pass in the api base from there

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Pass api_base in the call or set the COHERE_API_BASE environment variable.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/rerank_api/main.py:203 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/d37f058f74fec7fd. Report an issue: GitHub.