From 6c5a906f3d6830d1fc84f0ebb7189eb1ef234863 Mon Sep 17 00:00:00 2001 From: Hendrik Langer Date: Sun, 16 Apr 2023 14:39:46 +0200 Subject: [PATCH] fix --- .~lock.model-roleplay-evaluation.ods# | 1 + matrix_pygmalion_bot/ai/model_helpers.py | 18 +++++++++--------- model-roleplay-evaluation.ods | Bin 0 -> 13181 bytes 3 files changed, 10 insertions(+), 9 deletions(-) create mode 100644 .~lock.model-roleplay-evaluation.ods# create mode 100644 model-roleplay-evaluation.ods diff --git a/.~lock.model-roleplay-evaluation.ods# b/.~lock.model-roleplay-evaluation.ods# new file mode 100644 index 0000000..d07e8e0 --- /dev/null +++ b/.~lock.model-roleplay-evaluation.ods# @@ -0,0 +1 @@ +,hendrik,deep-thought,16.04.2023 14:39,file:///home/hendrik/.config/libreoffice/4; \ No newline at end of file diff --git a/matrix_pygmalion_bot/ai/model_helpers.py b/matrix_pygmalion_bot/ai/model_helpers.py index b7fc55c..3810355 100644 --- a/matrix_pygmalion_bot/ai/model_helpers.py +++ b/matrix_pygmalion_bot/ai/model_helpers.py @@ -45,7 +45,7 @@ async def get_full_prompt(simple_prompt: str, bot, chat_history, model_name: str elif model_name.startswith("alpaca"): ai_name = bot.name # ToDo user_name = bot.user_name # ToDo - elif mode_name.startswith("koboldai"): + elif model_name.startswith("koboldai"): ai_name = bot.name user_name = "You" else: @@ -69,20 +69,20 @@ async def get_full_prompt(simple_prompt: str, bot, chat_history, model_name: str prompt += f"NSFW content allowed.\n" # ToDo prompt += f"\n" prompt += "### Input:\n" - elif mode_name.startswith("koboldai"): + elif model_name.startswith("koboldai"): prompt = "" else: prompt = "" # Character description if model_name.startswith("pygmalion"): - prompt = bot.name + "'s Persona: " + bot.get_persona() + "\n" + prompt += bot.name + "'s Persona: " + bot.get_persona() + "\n" elif model_name.startswith("vicuna"): prompt += bot.name + "'s Persona: " + bot.get_persona() + "\n" # ToDo elif model_name.startswith("alpaca"): prompt += bot.name + "'s Persona: " + bot.get_persona() + "\n" # ToDo - elif mode_name.startswith("koboldai"): - prompt = f"[Character: {bot.get_persona()}]\n" + elif model_name.startswith("koboldai"): + prompt += f"[Character: {bot.get_persona()}]\n" else: prompt += bot.name + "'s Persona: " + bot.get_persona() + "\n" # ToDo @@ -93,8 +93,8 @@ async def get_full_prompt(simple_prompt: str, bot, chat_history, model_name: str prompt += "Scenario: " + bot.get_scenario() + "\n\n" # ToDo elif model_name.startswith("alpaca"): prompt += "Scenario: " + bot.get_scenario() + "\n\n" # ToDo - elif mode_name.startswith("koboldai"): - prompt = f"[Start Scene: {bot.get_scenario()}]\n\n" + elif model_name.startswith("koboldai"): + prompt += f"[Start Scene: {bot.get_scenario()}]\n\n" else: prompt += "Scenario: " + bot.get_scenario() + "\n\n" # ToDo @@ -105,7 +105,7 @@ async def get_full_prompt(simple_prompt: str, bot, chat_history, model_name: str prompt += "### Response:\n" # ToDo elif model_name.startswith("alpaca"): prompt += "### Response:\n" - elif mode_name.startswith("koboldai"): + elif model_name.startswith("koboldai"): pass else: pass @@ -125,7 +125,7 @@ async def get_full_prompt(simple_prompt: str, bot, chat_history, model_name: str pass # ToDo elif model_name.startswith("alpaca"): pass # ToDo - elif mode_name.startswith("koboldai"): + elif model_name.startswith("koboldai"): pass else: pass # ToDo diff --git a/model-roleplay-evaluation.ods b/model-roleplay-evaluation.ods new file mode 100644 index 0000000000000000000000000000000000000000..27ff5007fd8d8c148af6ba1a45dc99dcb259fb73 GIT binary patch literal 13181 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 WU|+a<5D;iDKa-b12a4g>-Twl{A9}?A literal 0 HcmV?d00001