{"record":{"id":"41de6b7a4ddd1a4e","repo":"infiniflow/ragflow","slug":"provider-provider-name-not-found-for-model-mode","errorCode":null,"errorMessage":"Provider {provider_name} not found for model {model_name}.","messagePattern":"Provider (.+?) not found for model (.+?)\\.","errorType":"exception","errorClass":"LookupError","httpStatus":null,"severity":"error","filePath":"api/db/joint_services/tenant_model_service.py","lineNumber":283,"sourceCode":"    # Builtin embedding model\n    compose_profiles = os.getenv(\"COMPOSE_PROFILES\", \"\")\n    is_tei_builtin_embedding = (\n        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)\n    )\n    if is_tei_builtin_embedding:\n        # configured local embedding model\n        embedding_cfg = settings.EMBEDDING_CFG\n        return {\n            \"llm_factory\": \"Builtin\",\n            \"api_key\": embedding_cfg[\"api_key\"],\n            \"llm_name\": pure_model_name,\n            \"api_base\": embedding_cfg[\"base_url\"],\n            \"model_type\": LLMType.EMBEDDING.value,\n        }\n\n    provider_obj = TenantModelProviderService.get_by_tenant_id_and_provider_name(tenant_id, provider_name)\n    if not provider_obj:\n        raise LookupError(f\"Provider {provider_name} not found for model {model_name}.\")\n    instance_obj = _resolve_instance_for_model(provider_obj, instance_name, model_name)\n    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)\n\n    api_key, is_tool, api_key_payload = _decode_api_key_config(instance_obj.api_key)\n    extra_fields = json.loads(instance_obj.extra) if instance_obj.extra else {}\n\n    if model_obj:\n        if model_obj.status == ActiveStatusEnum.INACTIVE.value:\n            raise LookupError(f\"Model {model_name} is disabled.\")\n        if model_obj.status == ActiveStatusEnum.UNSUPPORTED.value:\n            raise LookupError(f\"Model {model_name} cannot be used as {model_type_val} model.\")\n\n        model_extra = json.loads(model_obj.extra) if model_obj.extra else {}\n        llm_info = _lookup_factory_llm_info(provider_obj.provider_name, pure_model_name, extra_fields)\n        if \"max_tokens\" in model_extra:\n            max_tokens = model_extra[\"max_tokens\"]\n        else:\n            max_tokens = (llm_info or {}).get(\"max_tokens\", 8192)","sourceCodeStart":265,"sourceCodeEnd":301,"githubUrl":"https://github.com/infiniflow/ragflow/blob/554fb1133ac3861732235ad9c377eb5e0a770665/api/db/joint_services/tenant_model_service.py#L265-L301","documentation":"Error \"Provider {provider_name} not found for model {model_name}.\" thrown in infiniflow/ragflow.","triggerScenarios":"Thrown at api/db/joint_services/tenant_model_service.py:283 when the library encounters an invalid state.","commonSituations":"The model record references a provider that is not configured for the tenant; configuring or correcting the provider prevents this error.","solutions":["Verify the provider name for the model exists in the tenant configuration."],"exampleFix":"# list configured providers and use a valid provider_name","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"554fb1133ac3861732235ad9c377eb5e0a770665","analyzedAt":"2026-08-15T09:20:16.380Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}