{"record":{"id":"9aeb37fc8d6e4020","repo":"infiniflow/ragflow","slug":"model-model-name-is-disabled","errorCode":null,"errorMessage":"Model {model_name} is disabled.","messagePattern":"Model (.+?) is disabled\\.","errorType":"exception","errorClass":"LookupError","httpStatus":null,"severity":"error","filePath":"api/db/joint_services/tenant_model_service.py","lineNumber":292,"sourceCode":"            \"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)\n        model_config = {\n            \"llm_factory\": provider_obj.provider_name,\n            \"api_key\": api_key,\n            \"llm_name\": model_obj.model_name,\n            \"api_base\": extra_fields.get(\"base_url\", \"\"),\n            \"model_type\": model_type_val,\n            \"is_tools\": model_extra.get(\"is_tools\", is_tool),\n            \"max_tokens\": max_tokens,\n        }","sourceCodeStart":274,"sourceCodeEnd":310,"githubUrl":"https://github.com/infiniflow/ragflow/blob/554fb1133ac3861732235ad9c377eb5e0a770665/api/db/joint_services/tenant_model_service.py#L274-L310","documentation":"Error \"Model {model_name} is disabled.\" thrown in infiniflow/ragflow.","triggerScenarios":"Thrown at api/db/joint_services/tenant_model_service.py:292 when the library encounters an invalid state.","commonSituations":"The requested model is administratively disabled; enabling it or selecting another model prevents this error.","solutions":["Enable the model in the tenant model settings.","Choose another enabled model."],"exampleFix":"# admin panel: toggle the model to enabled","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-15T17:31:12.345Z"}