File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -573,8 +573,11 @@ int32_t llm_chat_apply_template(
573573 // Velvet template
574574 std::string leading_space = " " ;
575575 std::string trailing_space = " " ;
576- bool trim_assistant_message = true ;
576+ bool trim_assistant_message = false ;
577577 bool is_inside_turn = false ;
578+ std::string system_message = " " ;
579+ std::string last_message (chat.back ()->content );
580+ ss << " <s>" ;
578581 for (auto message : chat) {
579582 if (!is_inside_turn) {
580583 ss << leading_space << " <instruction>" << trailing_space;
@@ -583,9 +586,9 @@ int32_t llm_chat_apply_template(
583586 std::string role (message->role );
584587 std::string content (message->content );
585588 if (role == " system" ) {
586- ss << content << " \n\n " ;
589+ system_message = content + " \n\n " ;
587590 } else if (role == " user" ) {
588- ss << content << leading_space << " </instruction>" ;
591+ ss << (content==last_message ? system_message : " " ) << content << leading_space << " </instruction>" ;
589592 } else {
590593 ss << trailing_space << (trim_assistant_message ? trim (content) : content) << " </s>" ;
591594 is_inside_turn = false ;
You can’t perform that action at this time.
0 commit comments