File tree Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -50,9 +50,13 @@ class ThinkingTemplate(Template):
50
50
51
51
def _swift_prepare_messages (self , messages ):
52
52
super ()._swift_prepare_messages (messages )
53
- for i , message in enumerate (messages ):
54
- if message ['role' ] == 'assistant' and isinstance (message ['content' ], str ) and i != len (messages ) - 1 :
55
- message ['content' ] = message ['content' ].split ('</think>' )[- 1 ].strip ()
53
+ # Only during inference or training, and only if the loss_scale is set to 'last_round',
54
+ # will the previous 'think' entries be deleted.
55
+ if not self .is_training or self .loss_scale .name == 'last_round' :
56
+ for i , message in enumerate (messages ):
57
+ # Delete the content before '</think>' in all assistant turns except the last round.
58
+ if message ['role' ] == 'assistant' and isinstance (message ['content' ], str ) and i != len (messages ) - 1 :
59
+ message ['content' ] = message ['content' ].split ('</think>' )[- 1 ].strip ()
56
60
57
61
58
62
register_template (
Original file line number Diff line number Diff line change @@ -164,3 +164,6 @@ def get_loss_scale(self,
164
164
'agentflan' : AgentFlanLossScale ,
165
165
'alpha_umi' : AlphaUmiLossScale ,
166
166
}
167
+
168
+ for k , v in loss_scale_map .items ():
169
+ v .name = k
You can’t perform that action at this time.
0 commit comments