From 6525707a7f639b8cf5af12331052f1457d2b80ec Mon Sep 17 00:00:00 2001 From: oobabooga <112222186+oobabooga@users.noreply.github.com> Date: Thu, 16 Nov 2023 18:16:42 -0800 Subject: [PATCH] Fix "send instruction template to..." buttons (closes #4625) --- modules/prompts.py | 24 ------------------------ modules/ui_chat.py | 14 ++++++++++---- 2 files changed, 10 insertions(+), 28 deletions(-) diff --git a/modules/prompts.py b/modules/prompts.py index ce652def..565c2450 100644 --- a/modules/prompts.py +++ b/modules/prompts.py @@ -1,8 +1,5 @@ from pathlib import Path -import yaml - -from modules import utils from modules.text_generation import get_encoded_length @@ -22,27 +19,6 @@ def load_prompt(fname): return text -def load_instruction_prompt_simple(fname): - file_path = Path(f'instruction-templates/{fname}.yaml') - if not file_path.exists(): - return '' - - with open(file_path, 'r', encoding='utf-8') as f: - data = yaml.safe_load(f) - output = '' - if 'context' in data: - output += data['context'] - - replacements = { - '<|user|>': data['user'], - '<|bot|>': data['bot'], - '<|user-message|>': 'Input', - } - - output += utils.replace_all(data['turn_template'].split('<|bot-message|>')[0], replacements) - return output.rstrip(' ') - - def count_tokens(text): try: tokens = get_encoded_length(text) diff --git a/modules/ui_chat.py b/modules/ui_chat.py index f0d02868..b3cff3d6 100644 --- a/modules/ui_chat.py +++ b/modules/ui_chat.py @@ -5,7 +5,7 @@ from pathlib import Path import gradio as gr from PIL import Image -from modules import chat, prompts, shared, ui, utils +from modules import chat, shared, ui, utils from modules.html_generator import chat_html_wrapper from modules.text_generation import stop_everything_event from modules.utils import gradio @@ -330,15 +330,21 @@ def create_event_handlers(): partial(chat.redraw_html, reset_cache=True), gradio(reload_arr), gradio('display')) shared.gradio['send_instruction_to_default'].click( - prompts.load_instruction_prompt_simple, gradio('instruction_template'), gradio('textbox-default')).then( + ui.gather_interface_values, gradio(shared.input_elements), gradio('interface_state')).then( + lambda x: x.update({'mode': 'instruct', 'history': {'internal': [], 'visible': []}}), gradio('interface_state'), None).then( + partial(chat.generate_chat_prompt, 'Input'), gradio('interface_state'), gradio('textbox-default')).then( lambda: None, None, None, _js=f'() => {{{ui.switch_tabs_js}; switch_to_default()}}') shared.gradio['send_instruction_to_notebook'].click( - prompts.load_instruction_prompt_simple, gradio('instruction_template'), gradio('textbox-notebook')).then( + ui.gather_interface_values, gradio(shared.input_elements), gradio('interface_state')).then( + lambda x: x.update({'mode': 'instruct', 'history': {'internal': [], 'visible': []}}), gradio('interface_state'), None).then( + partial(chat.generate_chat_prompt, 'Input'), gradio('interface_state'), gradio('textbox-notebook')).then( lambda: None, None, None, _js=f'() => {{{ui.switch_tabs_js}; switch_to_notebook()}}') shared.gradio['send_instruction_to_negative_prompt'].click( - prompts.load_instruction_prompt_simple, gradio('instruction_template'), gradio('negative_prompt')).then( + ui.gather_interface_values, gradio(shared.input_elements), gradio('interface_state')).then( + lambda x: x.update({'mode': 'instruct', 'history': {'internal': [], 'visible': []}}), gradio('interface_state'), None).then( + partial(chat.generate_chat_prompt, 'Input'), gradio('interface_state'), gradio('negative_prompt')).then( lambda: None, None, None, _js=f'() => {{{ui.switch_tabs_js}; switch_to_generation_parameters()}}') shared.gradio['send-chat-to-default'].click(