infiniflow/ragflow · error · LookupError
Provider {provider_name} not found for model {model_name}.
Error message
Provider {provider_name} not found for model {model_name}. What it means
Error "Provider {provider_name} not found for model {model_name}." thrown in infiniflow/ragflow.
Source
Thrown at api/db/joint_services/tenant_model_service.py:283
# Builtin embedding model
compose_profiles = os.getenv("COMPOSE_PROFILES", "")
is_tei_builtin_embedding = (
model_type_val == LLMType.EMBEDDING.value and "tei-" in compose_profiles and pure_model_name == os.getenv("TEI_MODEL", "") and (provider_name == "Builtin" or not provider_name)
)
if is_tei_builtin_embedding:
# configured local embedding model
embedding_cfg = settings.EMBEDDING_CFG
return {
"llm_factory": "Builtin",
"api_key": embedding_cfg["api_key"],
"llm_name": pure_model_name,
"api_base": embedding_cfg["base_url"],
"model_type": LLMType.EMBEDDING.value,
}
provider_obj = TenantModelProviderService.get_by_tenant_id_and_provider_name(tenant_id, provider_name)
if not provider_obj:
raise LookupError(f"Provider {provider_name} not found for model {model_name}.")
instance_obj = _resolve_instance_for_model(provider_obj, instance_name, model_name)
model_obj = TenantModelService.get_by_provider_id_and_instance_id_and_model_type_and_model_name(provider_obj.id, instance_obj.id, model_type_val, pure_model_name)
api_key, is_tool, api_key_payload = _decode_api_key_config(instance_obj.api_key)
extra_fields = json.loads(instance_obj.extra) if instance_obj.extra else {}
if model_obj:
if model_obj.status == ActiveStatusEnum.INACTIVE.value:
raise LookupError(f"Model {model_name} is disabled.")
if model_obj.status == ActiveStatusEnum.UNSUPPORTED.value:
raise LookupError(f"Model {model_name} cannot be used as {model_type_val} model.")
model_extra = json.loads(model_obj.extra) if model_obj.extra else {}
llm_info = _lookup_factory_llm_info(provider_obj.provider_name, pure_model_name, extra_fields)
if "max_tokens" in model_extra:
max_tokens = model_extra["max_tokens"]
else:
max_tokens = (llm_info or {}).get("max_tokens", 8192)View on GitHub (pinned to 554fb1133a)
Solutions
- Verify the provider name for the model exists in the tenant configuration.
Example fix
# list configured providers and use a valid provider_name
When it happens
Trigger: Thrown at api/db/joint_services/tenant_model_service.py:283 when the library encounters an invalid state.
Common situations: The model record references a provider that is not configured for the tenant; configuring or correcting the provider prevents this error.
AI-assisted analysis of infiniflow/ragflow@554fb1133a (2026-08-15).
Data as JSON: /api/errors/41de6b7a4ddd1a4e.
Report an issue: GitHub.