safer jinja llama_chat_templates
struct
This commit is contained in:
parent
cc50356470
commit
c9e7cbb08b
3 changed files with 17 additions and 14 deletions
|
@ -1855,13 +1855,12 @@ llama_chat_templates llama_chat_templates_from_model(const struct llama_model *
|
|||
)";
|
||||
}
|
||||
}
|
||||
return {
|
||||
has_explicit_template,
|
||||
std::make_unique<minja::chat_template>(default_template_src, bos_token, eos_token),
|
||||
tool_use_template_src.empty()
|
||||
? nullptr
|
||||
: std::make_unique<minja::chat_template>(tool_use_template_src, bos_token, eos_token)
|
||||
};
|
||||
llama_chat_templates ret(default_template_src, bos_token, eos_token);
|
||||
ret.has_explicit_template = has_explicit_template;
|
||||
ret.tool_use_template.reset(tool_use_template_src.empty()
|
||||
? nullptr
|
||||
: new minja::chat_template(tool_use_template_src, bos_token, eos_token));
|
||||
return ret;
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -607,8 +607,13 @@ typedef minja::chat_template llama_chat_template;
|
|||
|
||||
struct llama_chat_templates {
|
||||
bool has_explicit_template; // Model had builtin template or template overridde was specified.
|
||||
std::unique_ptr<llama_chat_template> default_template; // always set (defaults to chatml)
|
||||
llama_chat_template default_template; // always set (defaults to chatml)
|
||||
std::unique_ptr<llama_chat_template> tool_use_template;
|
||||
|
||||
llama_chat_templates(
|
||||
const std::string & source,
|
||||
const std::string & bos_token,
|
||||
const std::string & eos_token) : default_template(source, bos_token, eos_token) {}
|
||||
};
|
||||
|
||||
// CPP wrapper for llama_chat_apply_template
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue