From 7ba0144e42d57cec424d72f1fe9df50a21466cb2 Mon Sep 17 00:00:00 2001 From: HanishKVC Date: Wed, 24 Apr 2024 21:50:59 +0530 Subject: [PATCH] ChatOn:chaton_tmpl_role_kv: try except to ignore missing ifany Cas of above reason, switch to directly accessing the keys in dump helper, which is inturn used by meta_ok check --- common/chaton.hpp | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/common/chaton.hpp b/common/chaton.hpp index c8ec25c7a..c8ff21c06 100644 --- a/common/chaton.hpp +++ b/common/chaton.hpp @@ -308,7 +308,10 @@ inline std::string chaton_tmpl_role_kv(const std::string &tmpl, const std::strin std::string got = ""; std::string sKeys = ""; for(auto key: keys) { - got += conMeta[tmpl][role][key]; + try { + got += conMeta[tmpl][role][key]; + } catch (json::exception &err) { + } sKeys += "+"; sKeys += key; } @@ -343,20 +346,20 @@ inline void _chaton_meta_dump(std::string &tmpl) { } LOGXLN("\n\nINFO:%s:ChatOn Meta\n%s", __func__, theJson.dump(4).c_str()); if (!tmpl.empty()) { - LOGXLN("INFO:%s:%s:%s", __func__, "global->begin", chaton_tmpl_role_kv(tmpl, K_GLOBAL, {K_BEGIN}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "global->end", chaton_tmpl_role_kv(tmpl, K_GLOBAL, {K_END}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "system->begin", chaton_tmpl_role_kv(tmpl, K_SYSTEM, {K_BEGIN}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "system->prefix", chaton_tmpl_role_kv(tmpl, K_SYSTEM, {K_PREFIX}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "system->suffix", chaton_tmpl_role_kv(tmpl, K_SYSTEM, {K_SUFFIX}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "system->end", chaton_tmpl_role_kv(tmpl, K_SYSTEM, {K_END}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "user->begin", chaton_tmpl_role_kv(tmpl, K_USER, {K_BEGIN}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "user->prefix", chaton_tmpl_role_kv(tmpl, K_USER, {K_PREFIX}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "user->suffix", chaton_tmpl_role_kv(tmpl, K_USER, {K_SUFFIX}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "user->end", chaton_tmpl_role_kv(tmpl, K_USER, {K_END}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "assistant->begin", chaton_tmpl_role_kv(tmpl, K_ASSISTANT, {K_BEGIN}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "assistant->prefix", chaton_tmpl_role_kv(tmpl, K_ASSISTANT, {K_PREFIX}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "assistant->suffix", chaton_tmpl_role_kv(tmpl, K_ASSISTANT, {K_SUFFIX}).c_str()); - LOGXLN("INFO:%s:%s:%s", __func__, "assistant->end", chaton_tmpl_role_kv(tmpl, K_ASSISTANT, {K_END}).c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "global->begin", conMeta[tmpl][K_GLOBAL][K_BEGIN].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "global->end", conMeta[tmpl][K_GLOBAL][K_END].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "system->begin", conMeta[tmpl][K_SYSTEM][K_BEGIN].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "system->prefix", conMeta[tmpl][K_SYSTEM][K_PREFIX].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "system->suffix", conMeta[tmpl][K_SYSTEM][K_SUFFIX].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "system->end", conMeta[tmpl][K_SYSTEM][K_END].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "user->begin", conMeta[tmpl][K_USER][K_BEGIN].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "user->prefix", conMeta[tmpl][K_USER][K_PREFIX].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "user->suffix", conMeta[tmpl][K_USER][K_SUFFIX].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "user->end", conMeta[tmpl][K_USER][K_END].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "assistant->begin", conMeta[tmpl][K_ASSISTANT][K_BEGIN].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "assistant->prefix", conMeta[tmpl][K_ASSISTANT][K_PREFIX].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "assistant->suffix", conMeta[tmpl][K_ASSISTANT][K_SUFFIX].c_str()); + LOGXLN("INFO:%s:%s:%s", __func__, "assistant->end", conMeta[tmpl][K_ASSISTANT][K_END].c_str()); LOGXLN("INFO:%s:%s:%s", __func__, K_REVERSE_PROMPT, chaton_tmpl_kv(tmpl, K_REVERSE_PROMPT).c_str()); LOGXLN("INFO:%s:%s:%d", __func__, K_SYSTEMUSER_SYSTEM_HAS_SUFFIX, chaton_tmpl_kv_bool(tmpl, K_SYSTEMUSER_SYSTEM_HAS_SUFFIX)); LOGXLN("INFO:%s:%s:%d", __func__, K_SYSTEMUSER_SYSTEM_HAS_END, chaton_tmpl_kv_bool(tmpl, K_SYSTEMUSER_SYSTEM_HAS_END));