# Copyright 2020-2026 The HuggingFace Team. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import sys from importlib.metadata import PackageNotFoundError, version from typing import TYPE_CHECKING from . import _compat from ._lazy_module import _LazyModule try: __version__ = version("trl") except PackageNotFoundError: __version__ = "unknown" _import_structure = { "chat_template_utils": [ "add_response_schema", "clone_chat_template", "get_training_chat_template", "supports_tool_calling", ], "data_utils": [ "apply_chat_template", "extract_prompt", "is_conversational", "is_conversational_from_value", "maybe_apply_chat_template", "maybe_convert_to_chatml", "maybe_extract_prompt", "maybe_unpair_preference_dataset", "pack_dataset", "prepare_multimodal_messages", "prepare_multimodal_messages_vllm", "unpair_preference_dataset", ], "models": ["create_reference_model"], "scripts": ["DatasetMixtureConfig", "ScriptArguments", "TrlParser", "get_dataset", "init_zero_verbose"], "trainer": [ "BEMACallback", "DPOConfig", "DPOTrainer", "GRPOConfig", "GRPOTrainer", "KTOConfig", "KTOTrainer", "LogCompletionsCallback", "ModelConfig", "RewardConfig", "RewardTrainer", "RichProgressCallback", "RLOOConfig", "RLOOTrainer", "SFTConfig", "SFTTrainer", "SyncRefModelCallback", "WeaveCallback", "get_kbit_device_map", "get_peft_config", "get_quantization_config", ], } if TYPE_CHECKING: from .chat_template_utils import ( add_response_schema, clone_chat_template, get_training_chat_template, supports_tool_calling, ) from .data_utils import ( apply_chat_template, extract_prompt, is_conversational, is_conversational_from_value, maybe_apply_chat_template, maybe_convert_to_chatml, maybe_extract_prompt, maybe_unpair_preference_dataset, pack_dataset, prepare_multimodal_messages, prepare_multimodal_messages_vllm, unpair_preference_dataset, ) from .models import create_reference_model from .scripts import DatasetMixtureConfig, ScriptArguments, TrlParser, get_dataset, init_zero_verbose from .trainer import ( BEMACallback, DPOConfig, DPOTrainer, GRPOConfig, GRPOTrainer, KTOConfig, KTOTrainer, LogCompletionsCallback, ModelConfig, RewardConfig, RewardTrainer, RichProgressCallback, RLOOConfig, RLOOTrainer, SFTConfig, SFTTrainer, SyncRefModelCallback, WeaveCallback, get_kbit_device_map, get_peft_config, get_quantization_config, ) else: import sys sys.modules[__name__] = _LazyModule( __name__, globals()["__file__"], _import_structure, module_spec=__spec__, extra_objects={"__version__": __version__}, )