ChatON: Rename helpers to kv suffix, updated wrt metaok

rename because they return value of specified key.

[main] update metaok to take template-id, so that one can cross
check that all needed entries are there wrt that template-id in
the chaton-meta-json file
This commit is contained in:
HanishKVC 2024-04-23 09:15:25 +05:30
parent e8c24c0767
commit efb758ba7d
2 changed files with 19 additions and 19 deletions

View file

@ -90,14 +90,14 @@ inline void _chaton_meta_dump(std::string &tmpl) {
} }
LOG_TEELN("\n\nINFO:%s:ChatOn Meta\n%s", __func__, theJson.dump(4).c_str()); LOG_TEELN("\n\nINFO:%s:ChatOn Meta\n%s", __func__, theJson.dump(4).c_str());
if (!tmpl.empty()) { if (!tmpl.empty()) {
LOG("INFO:%s:%s:%s", __func__, "global->begin", chaton_tmpl_role_part(tmpl, K_GLOBAL, K_BEGIN)); LOG("INFO:%s:%s:%s", __func__, "global->begin", chaton_tmpl_role_kv(tmpl, K_GLOBAL, K_BEGIN));
LOG("INFO:%s:%s:%s", __func__, "global->end", chaton_tmpl_role_part(tmpl, K_GLOBAL, K_END)); LOG("INFO:%s:%s:%s", __func__, "global->end", chaton_tmpl_role_kv(tmpl, K_GLOBAL, K_END));
LOG("INFO:%s:%s:%s", __func__, "system->prefix", chaton_tmpl_role_part(tmpl, K_SYSTEM, K_PREFIX)); LOG("INFO:%s:%s:%s", __func__, "system->prefix", chaton_tmpl_role_kv(tmpl, K_SYSTEM, K_PREFIX));
LOG("INFO:%s:%s:%s", __func__, "system->suffix", chaton_tmpl_role_part(tmpl, K_SYSTEM, K_SUFFIX)); LOG("INFO:%s:%s:%s", __func__, "system->suffix", chaton_tmpl_role_kv(tmpl, K_SYSTEM, K_SUFFIX));
LOG("INFO:%s:%s:%s", __func__, "user->prefix", chaton_tmpl_role_part(tmpl, K_USER, K_PREFIX)); LOG("INFO:%s:%s:%s", __func__, "user->prefix", chaton_tmpl_role_kv(tmpl, K_USER, K_PREFIX));
LOG("INFO:%s:%s:%s", __func__, "user->suffix", chaton_tmpl_role_part(tmpl, K_USER, K_SUFFIX)); LOG("INFO:%s:%s:%s", __func__, "user->suffix", chaton_tmpl_role_kv(tmpl, K_USER, K_SUFFIX));
LOG("INFO:%s:%s:%s", __func__, "assistant->prefix", chaton_tmpl_role_part(tmpl, K_ASSISTANT, K_PREFIX)); LOG("INFO:%s:%s:%s", __func__, "assistant->prefix", chaton_tmpl_role_kv(tmpl, K_ASSISTANT, K_PREFIX));
LOG("INFO:%s:%s:%s", __func__, "assistant->suffix", chaton_tmpl_role_part(tmpl, K_ASSISTANT, K_SUFFIX)); LOG("INFO:%s:%s:%s", __func__, "assistant->suffix", chaton_tmpl_role_kv(tmpl, K_ASSISTANT, K_SUFFIX));
} }
} }
@ -164,14 +164,14 @@ inline std::string chaton_tmpl_apply(const std::string &tmpl, const std::vector<
return taggedMsgs; return taggedMsgs;
} }
inline std::string chaton_tmpl_role_part(const std::string &tmpl, const std::string &role, const std::string &part) { inline std::string chaton_tmpl_role_kv(const std::string &tmpl, const std::string &role, const std::string &key) {
std::string got = conMeta[tmpl][role][part]; std::string got = conMeta[tmpl][role][key];
LOG_TEELN("DBUG:%s:%s:%s:%s:%s", __func__, tmpl.c_str(), role.c_str(), part.c_str(), got.c_str()); LOG_TEELN("DBUG:%s:%s:%s:%s:%s", __func__, tmpl.c_str(), role.c_str(), key.c_str(), got.c_str());
return got; return got;
} }
inline std::string chaton_tmpl_part(const std::string &tmpl, const std::string &part) { inline std::string chaton_tmpl_kv(const std::string &tmpl, const std::string &key) {
std::string got = conMeta[tmpl][part]; std::string got = conMeta[tmpl][key];
LOG_TEELN("DBUG:%s:%s:%s:%s", __func__, tmpl.c_str(), part.c_str(), got.c_str()); LOG_TEELN("DBUG:%s:%s:%s:%s", __func__, tmpl.c_str(), key.c_str(), got.c_str());
return got; return got;
} }

View file

@ -144,7 +144,7 @@ int main(int argc, char ** argv) {
if (params.chaton) { if (params.chaton) {
chaton_meta_load(params.chaton_meta_json); chaton_meta_load(params.chaton_meta_json);
if (!chaton_meta_ok()) { if (!chaton_meta_ok(params.chaton_template_id)) {
exit(1); exit(1);
} }
} }
@ -375,13 +375,13 @@ int main(int argc, char ** argv) {
} }
// chaton mode // chaton mode
const auto chaton_assitant_prefix = ::llama_tokenize(ctx, chaton_tmpl_role_part(params.chaton_template_id, "assistant", "prefix"), false, true); const auto chaton_assitant_prefix = ::llama_tokenize(ctx, chaton_tmpl_role_kv(params.chaton_template_id, "assistant", "prefix"), false, true);
if (params.chaton) { if (params.chaton) {
params.interactive = true; // may remove later, by requiring user to explicitly request interactive mode params.interactive = true; // may remove later, by requiring user to explicitly request interactive mode
params.interactive_first = true; params.interactive_first = true;
params.input_prefix = chaton_tmpl_role_part(params.chaton_template_id, "user", "prefix"); params.input_prefix = chaton_tmpl_role_kv(params.chaton_template_id, "user", "prefix");
params.input_suffix = chaton_tmpl_role_part(params.chaton_template_id, "user", "suffix"); params.input_suffix = chaton_tmpl_role_kv(params.chaton_template_id, "user", "suffix");
params.antiprompt.emplace_back(chaton_tmpl_part(params.chaton_template_id, "reverse-prompt")); params.antiprompt.emplace_back(chaton_tmpl_kv(params.chaton_template_id, "reverse-prompt"));
} }
// enable interactive mode if interactive start is specified // enable interactive mode if interactive start is specified