mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2025-09-11 09:34:37 +00:00
chat : include kwargs in template example (#15309)
This commit is contained in:
parent
7a0de96045
commit
f75b830647
5 changed files with 8 additions and 6 deletions
|
@ -473,11 +473,12 @@ std::string common_chat_format_single(
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string common_chat_format_example(const struct common_chat_templates * tmpls, bool use_jinja) {
|
std::string common_chat_format_example(const struct common_chat_templates * tmpls, bool use_jinja, const std::map<std::string, std::string> & chat_template_kwargs) {
|
||||||
common_chat_templates_inputs inputs;
|
common_chat_templates_inputs inputs;
|
||||||
inputs.use_jinja = use_jinja;
|
inputs.use_jinja = use_jinja;
|
||||||
inputs.add_bos = tmpls->add_bos;
|
inputs.add_bos = tmpls->add_bos;
|
||||||
inputs.add_eos = tmpls->add_eos;
|
inputs.add_eos = tmpls->add_eos;
|
||||||
|
inputs.chat_template_kwargs = chat_template_kwargs;
|
||||||
auto add_simple_msg = [&](auto role, auto content) {
|
auto add_simple_msg = [&](auto role, auto content) {
|
||||||
common_chat_msg msg;
|
common_chat_msg msg;
|
||||||
msg.role = role;
|
msg.role = role;
|
||||||
|
|
|
@ -187,7 +187,8 @@ std::string common_chat_format_single(
|
||||||
// Returns an example of formatted chat
|
// Returns an example of formatted chat
|
||||||
std::string common_chat_format_example(
|
std::string common_chat_format_example(
|
||||||
const struct common_chat_templates * tmpls,
|
const struct common_chat_templates * tmpls,
|
||||||
bool use_jinja);
|
bool use_jinja,
|
||||||
|
const std::map<std::string, std::string> & chat_template_kwargs);
|
||||||
|
|
||||||
const char* common_chat_format_name(common_chat_format format);
|
const char* common_chat_format_name(common_chat_format format);
|
||||||
const char* common_reasoning_format_name(common_reasoning_format format);
|
const char* common_reasoning_format_name(common_reasoning_format format);
|
||||||
|
|
|
@ -220,7 +220,7 @@ int main(int argc, char ** argv) {
|
||||||
LOG_WRN("*** User-specified prompt will pre-start conversation, did you mean to set --system-prompt (-sys) instead?\n");
|
LOG_WRN("*** User-specified prompt will pre-start conversation, did you mean to set --system-prompt (-sys) instead?\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_INF("%s: chat template example:\n%s\n", __func__, common_chat_format_example(chat_templates.get(), params.use_jinja).c_str());
|
LOG_INF("%s: chat template example:\n%s\n", __func__, common_chat_format_example(chat_templates.get(), params.use_jinja, params.default_template_kwargs).c_str());
|
||||||
} else {
|
} else {
|
||||||
LOG_INF("%s: in-suffix/prefix is specified, chat template will be disabled\n", __func__);
|
LOG_INF("%s: in-suffix/prefix is specified, chat template will be disabled\n", __func__);
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,7 +108,7 @@ struct mtmd_cli_context {
|
||||||
}
|
}
|
||||||
|
|
||||||
tmpls = common_chat_templates_init(model, params.chat_template);
|
tmpls = common_chat_templates_init(model, params.chat_template);
|
||||||
LOG_INF("%s: chat template example:\n%s\n", __func__, common_chat_format_example(tmpls.get(), params.use_jinja).c_str());
|
LOG_INF("%s: chat template example:\n%s\n", __func__, common_chat_format_example(tmpls.get(), params.use_jinja, params.default_template_kwargs).c_str());
|
||||||
|
|
||||||
init_vision_context(params);
|
init_vision_context(params);
|
||||||
|
|
||||||
|
|
|
@ -2053,7 +2053,7 @@ struct server_context {
|
||||||
|
|
||||||
chat_templates = common_chat_templates_init(model, params_base.chat_template);
|
chat_templates = common_chat_templates_init(model, params_base.chat_template);
|
||||||
try {
|
try {
|
||||||
common_chat_format_example(chat_templates.get(), params.use_jinja);
|
common_chat_format_example(chat_templates.get(), params.use_jinja, params.default_template_kwargs);
|
||||||
} catch (const std::exception & e) {
|
} catch (const std::exception & e) {
|
||||||
SRV_WRN("%s: Chat template parsing error: %s\n", __func__, e.what());
|
SRV_WRN("%s: Chat template parsing error: %s\n", __func__, e.what());
|
||||||
SRV_WRN("%s: The chat template that comes with this model is not yet supported, falling back to chatml. This may cause the model to output suboptimal responses\n", __func__);
|
SRV_WRN("%s: The chat template that comes with this model is not yet supported, falling back to chatml. This may cause the model to output suboptimal responses\n", __func__);
|
||||||
|
@ -5075,7 +5075,7 @@ int main(int argc, char ** argv) {
|
||||||
// print sample chat example to make it clear which template is used
|
// print sample chat example to make it clear which template is used
|
||||||
LOG_INF("%s: chat template, chat_template: %s, example_format: '%s'\n", __func__,
|
LOG_INF("%s: chat template, chat_template: %s, example_format: '%s'\n", __func__,
|
||||||
common_chat_templates_source(ctx_server.chat_templates.get()),
|
common_chat_templates_source(ctx_server.chat_templates.get()),
|
||||||
common_chat_format_example(ctx_server.chat_templates.get(), ctx_server.params_base.use_jinja).c_str());
|
common_chat_format_example(ctx_server.chat_templates.get(), ctx_server.params_base.use_jinja, ctx_server.params_base.default_template_kwargs).c_str());
|
||||||
|
|
||||||
ctx_server.queue_tasks.on_new_task([&ctx_server](server_task && task) {
|
ctx_server.queue_tasks.on_new_task([&ctx_server](server_task && task) {
|
||||||
ctx_server.process_single_task(std::move(task));
|
ctx_server.process_single_task(std::move(task));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue