assafelovic/gpt-researcher · warning · FutureWarning

EMBEDDING_PROVIDER is deprecated and will be removed soon. U

Error message

EMBEDDING_PROVIDER is deprecated and will be removed soon. Use EMBEDDING instead.

What it means

A FutureWarning (not an exception) emitted by Config when the EMBEDDING_PROVIDER environment variable is set: that variable is deprecated in favor of EMBEDDING. The value is still honored for backward compatibility, so nothing breaks yet, but support will be removed.

Source

Thrown at gpt_researcher/config/config.py:102

            self.retrievers = ["tavily"]

    def _set_embedding_attributes(self) -> None:
        """Parse and set embedding provider and model attributes."""
        self.embedding_provider, self.embedding_model = self.parse_embedding(
            self.embedding
        )

    def _set_llm_attributes(self) -> None:
        """Parse and set LLM provider and model attributes for all LLM types."""
        self.fast_llm_provider, self.fast_llm_model = self.parse_llm(self.fast_llm)
        self.smart_llm_provider, self.smart_llm_model = self.parse_llm(self.smart_llm)
        self.strategic_llm_provider, self.strategic_llm_model = self.parse_llm(self.strategic_llm)
        self.reasoning_effort = self.parse_reasoning_effort(os.getenv("REASONING_EFFORT"))

    def _handle_deprecated_attributes(self) -> None:
        """Handle deprecated configuration attributes with warnings."""
        if os.getenv("EMBEDDING_PROVIDER") is not None:
            warnings.warn(
                "EMBEDDING_PROVIDER is deprecated and will be removed soon. Use EMBEDDING instead.",
                FutureWarning,
                stacklevel=2,
            )
            self.embedding_provider = (
                os.environ["EMBEDDING_PROVIDER"] or self.embedding_provider
            )

            embedding_provider = os.environ["EMBEDDING_PROVIDER"]
            if embedding_provider == "ollama":
                self.embedding_model = os.environ["OLLAMA_EMBEDDING_MODEL"]
            elif embedding_provider == "custom":
                self.embedding_model = os.getenv("OPENAI_EMBEDDING_MODEL", "custom")
            elif embedding_provider == "openai":
                self.embedding_model = "text-embedding-3-large"
            elif embedding_provider == "azure_openai":
                self.embedding_model = "text-embedding-3-large"
            elif embedding_provider == "huggingface":

View on GitHub (pinned to 6f998577d5)

Solutions

  1. Replace EMBEDDING_PROVIDER=... with EMBEDDING=... in your environment/.env.
  2. Search the repo for 'EMBEDDING_PROVIDER' (docker-compose, CI secrets, deploy scripts) and update all occurrences.
  3. If tests assert no warnings, filter FutureWarning or pin the config in test fixtures.

Example fix

# before
EMBEDDING_PROVIDER=ollama
# after
EMBEDDING=ollama
Defensive patterns

Strategy: validation

Validate before calling

import os
assert "EMBEDDING_PROVIDER" not in os.environ, "rename EMBEDDING_PROVIDER to EMBEDDING"

Prevention

When it happens

Trigger: Instantiating Config (i.e. creating GPTResearcher or the agent backend) with EMBEDDING_PROVIDER defined in the environment or .env file.

Common situations: Upgrading gpt-researcher while keeping old .env files or docker-compose/Dockerfile ENV entries from earlier versions; tutorials that predate the rename.

Related errors


AI-assisted analysis of assafelovic/gpt-researcher@6f998577d5 (2026-08-28). Data as JSON: /api/errors/30c24e75e122c40f. Report an issue: GitHub.