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
- Replace EMBEDDING_PROVIDER=... with EMBEDDING=... in your environment/.env.
- Search the repo for 'EMBEDDING_PROVIDER' (docker-compose, CI secrets, deploy scripts) and update all occurrences.
- 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
- Keep .env files in sync with the current config reference after upgrades.
- Run startup checks that assert deprecated env vars are absent.
- Treat FutureWarnings as migration TODOs, not noise.
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
- LLM_PROVIDER, FAST_LLM_MODEL and SMART_LLM_MODEL are depreca
- Invalid report type: {report_type}. Please use one of the fo
- Invalid prompt family: {prompt_family_name}. Please use one
- Cost must be an integer or float
- Embedding provider not found.
AI-assisted analysis of assafelovic/gpt-researcher@6f998577d5 (2026-08-28).
Data as JSON: /api/errors/30c24e75e122c40f.
Report an issue: GitHub.