Re-enable grammars

This commit is contained in:
Ettore Di Giacinto 2025-05-16 18:25:26 +02:00
parent 73cb2f8fa5
commit 141ceaf581

View file

@ -345,22 +345,22 @@ struct server_task {
}
//TODO: add back json_schema and grammar support
// // process "json_schema" and "grammar"
// if (data.contains("json_schema") && !data.contains("grammar")) {
// try {
// auto schema = json_value(data, "json_schema", json::object());
// SRV_DBG("JSON schema: %s\n", schema.dump(2).c_str());
// params.sampling.grammar = json_schema_to_grammar(schema);
// SRV_DBG("Converted grammar: %s\n", params.sampling.grammar.c_str());
// } catch (const std::exception & e) {
// throw std::runtime_error(std::string("\"json_schema\": ") + e.what());
// }
// } else {
// params.sampling.grammar = json_value(data, "grammar", defaults.sampling.grammar);
// SRV_DBG("Grammar: %s\n", params.sampling.grammar.c_str());
// params.sampling.grammar_lazy = json_value(data, "grammar_lazy", defaults.sampling.grammar_lazy);
// SRV_DBG("Grammar lazy: %s\n", params.sampling.grammar_lazy ? "true" : "false");
// }
// process "json_schema" and "grammar"
if (data.contains("json_schema") && !data.contains("grammar")) {
try {
auto schema = json_value(data, "json_schema", json::object());
SRV_DBG("JSON schema: %s\n", schema.dump(2).c_str());
params.sampling.grammar = json_schema_to_grammar(schema);
SRV_DBG("Converted grammar: %s\n", params.sampling.grammar.c_str());
} catch (const std::exception & e) {
throw std::runtime_error(std::string("\"json_schema\": ") + e.what());
}
} else {
params.sampling.grammar = json_value(data, "grammar", defaults.sampling.grammar);
SRV_DBG("Grammar: %s\n", params.sampling.grammar.c_str());
params.sampling.grammar_lazy = json_value(data, "grammar_lazy", defaults.sampling.grammar_lazy);
SRV_DBG("Grammar lazy: %s\n", params.sampling.grammar_lazy ? "true" : "false");
}
{
auto it = data.find("chat_format");