From ef16ba7b618ec862675252e417bc131f09932ed9 Mon Sep 17 00:00:00 2001 From: tikikun Date: Wed, 31 Jan 2024 16:04:01 +0700 Subject: [PATCH] bug: correct way of handle grammar file --- controllers/llamaCPP.cc | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/controllers/llamaCPP.cc b/controllers/llamaCPP.cc index 65071fc1f..da28c1bcb 100644 --- a/controllers/llamaCPP.cc +++ b/controllers/llamaCPP.cc @@ -186,15 +186,19 @@ void llamaCPP::chatCompletion( (*jsonBody).get("frequency_penalty", 0).asFloat(); data["presence_penalty"] = (*jsonBody).get("presence_penalty", 0).asFloat(); const Json::Value &messages = (*jsonBody)["messages"]; - std::string grammar_file = (*jsonBody).get("grammar_file", "").asString(); - std::ifstream file(grammar_file); - if (!file) { - LOG_ERROR << "Grammar file not found"; - } else { - std::stringstream grammarBuf; - grammarBuf << file.rdbuf(); - data["grammar"] = grammarBuf.str(); - } + + if (!(*jsonBody)["grammar_file"].isNull()) { + std::string grammar_file = (*jsonBody)["grammar_file"].asString(); + std::ifstream file(grammar_file); + if (!file) { + LOG_ERROR << "Grammar file not found"; + } else { + std::stringstream grammarBuf; + grammarBuf << file.rdbuf(); + data["grammar"] = grammarBuf.str(); + } + }; + if (!llama.multimodal) { for (const auto &message : messages) {