diff --git a/llama.cpp b/llama.cpp index ed7ef7e0a..fa473e5be 100644 --- a/llama.cpp +++ b/llama.cpp @@ -15711,7 +15711,24 @@ static int32_t llama_chat_apply_template_internal( ss << message->content << "<|end_of_turn|>"; } if (add_ass) { - ss << "GPT4 Correct Assistant: "; + ss << "GPT4 Correct Assistant:"; + } + } else if (tmpl == "vicuna" || tmpl.find("USER: ") != std::string::npos) { + for (auto message : chat) { + std::string role(message->role); + if (role == "user") { + ss << "USER: "; + } else if (role == "assistant") { + ss << "ASSISTANT: "; + } + ss << message->content << "\n"; + if (role == "system") { + // Extra newline after system message + ss << "\n"; + } + } + if (add_ass) { + ss << "ASSISTANT:"; } } else { // template not supported