{"record":{"id":"6c9297175a58606f","repo":"hiyouga/LlamaFactory","slug":"the-installed-transformers-kt-does-not-provide-tr","errorCode":null,"errorMessage":"The installed Transformers-KT does not provide `TrainingArguments.update_kt_config()`.","messagePattern":"The installed Transformers-KT does not provide `TrainingArguments\\.update_kt_config\\(\\)`\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"critical","filePath":"src/llamafactory/hparams/model_args.py","lineNumber":672,"sourceCode":"                raise ValueError(\"`adapter_folder` must stay inside the KT adapter directory.\")\n        if not os.path.isdir(adapter_dir):\n            raise ValueError(f\"KTransformers {operation} requires a local adapter directory.\")\n        return adapter_dir\n\n    def apply_kt_config(self, finetuning_args: Any, training_args: Any, model_max_length: int | None) -> None:\n        r\"\"\"Apply LLaMA-Factory KT args to transformers/accelerate KT integration points.\"\"\"\n        if not self.use_kt:\n            return\n\n        self.configure_kt_checkpointing(training_args)\n        kt_config = self.get_kt_config_dict(\n            finetuning_args,\n            model_max_length,\n            self._get_advanced_kt_config(training_args),\n        )\n        update_kt_config = getattr(training_args, \"update_kt_config\", None)\n        if not callable(update_kt_config):\n            raise RuntimeError(\n                \"The installed Transformers-KT does not provide `TrainingArguments.update_kt_config()`.\"\n            )\n\n        adapter_dir = self._resolve_kt_adapter_artifact_dir(\"training\")\n        update_kt_config(kt_config, adapter_name_or_path=adapter_dir)\n\n    def configure_kt_loading(self, finetuning_args: Any, model_max_length: int | None) -> None:\n        r\"\"\"Configure KT model loading for inference and evaluation.\"\"\"\n        if not self.use_kt:\n            if self._kt_inference_config is not None:\n                raise ValueError(\"`kt_config` requires `use_kt: true`.\")\n            return\n        if self.infer_backend != EngineName.HF:\n            raise ValueError(\"KTransformers inference requires `infer_backend: huggingface`.\")\n\n        adapter_dir = self._resolve_kt_adapter_artifact_dir(\"inference\")\n\n        try:","sourceCodeStart":654,"sourceCodeEnd":690,"githubUrl":"https://github.com/hiyouga/LlamaFactory/blob/f28afaf6355af515454dfb16c97d728307c93897/src/llamafactory/hparams/model_args.py#L654-L690","documentation":"Raised by apply_kt_config when the installed transformers(-kt) build does not expose a callable TrainingArguments.update_kt_config. LLaMA-Factory's thin KT integration delegates the final config push to that Transformers-side hook, so a stock or outdated transformers install makes the contract unfulfillable.","triggerScenarios":"use_kt: true with a plain `transformers` package (no KT fork) installed, or a transformers-kt version predating update_kt_config; getattr on training_args returns None and the RuntimeError fires at startup.","commonSituations":"Environments where LLaMA-Factory was upgraded to the KT-supporting version but the transformers-kt dependency was pinned, skipped, or shadowed by a stock transformers in the venv.","solutions":["Install/upgrade the KT-enabled Transformers fork: `pip install -U transformers-kt` (as required by _check_extra_dependencies).","Verify the hook: `python -c \"from transformers import TrainingArguments; print(callable(getattr(TrainingArguments, 'update_kt_config', None)))\"`.","Check for a shadowing stock transformers earlier on sys.path (`pip show transformers transformers-kt`)."],"exampleFix":"# before (bash)\npip install llamafactory  # stock transformers retained\nllamafactory-cli train kt.yaml  # RuntimeError\n\n# after (bash)\npip install -U transformers-kt accelerate-kt kt-kernel\nllamafactory-cli train kt.yaml","handlingStrategy":"validation","validationCode":"from transformers import TrainingArguments\nif not callable(getattr(TrainingArguments, 'update_kt_config', None)):\n    raise SystemExit('install transformers-kt: pip install -U transformers-kt')","typeGuard":null,"tryCatchPattern":"try:\n    model_args.apply_kt_config(ft_args, tr_args, cutoff_len)\nexcept RuntimeError as e:\n    if 'update_kt_config' in str(e):\n        raise SystemExit('KT stack missing; pip install -U transformers-kt accelerate-kt kt-kernel') from e\n    raise","preventionTips":["Pin transformers-kt/accelerate-kt/kt-kernel versions in the same lockfile as llamafactory.","Smoke-test the KT hook after any transformers upgrade."],"tags":["ktransformers","dependencies","version-mismatch","llamafactory"],"backgroundTag":null,"analyzedSha":"f28afaf6355af515454dfb16c97d728307c93897","analyzedAt":"2026-08-14T21:57:28.298Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}