From b4c13cc00318f044c0fd3bd140a1b64721b813bc Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Thu, 17 Jul 2025 20:47:24 +0000 Subject: [PATCH] Fix DPO loss_type to use Enum instead of Literal for schema generation - Replace Literal["sigmoid", "hinge", "ipo", "kto_pair"] with DPOLossType enum - Schema generator only supports Literal types with single values --- llama_stack/apis/post_training/post_training.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/llama_stack/apis/post_training/post_training.py b/llama_stack/apis/post_training/post_training.py index ce6448951..f6860ea4b 100644 --- a/llama_stack/apis/post_training/post_training.py +++ b/llama_stack/apis/post_training/post_training.py @@ -104,10 +104,18 @@ class RLHFAlgorithm(Enum): dpo = "dpo" +@json_schema_type +class DPOLossType(Enum): + sigmoid = "sigmoid" + hinge = "hinge" + ipo = "ipo" + kto_pair = "kto_pair" + + @json_schema_type class DPOAlignmentConfig(BaseModel): beta: float - loss_type: Literal["sigmoid", "hinge", "ipo", "kto_pair"] = "sigmoid" + loss_type: DPOLossType = DPOLossType.sigmoid @json_schema_type