Fix "send instruction template to..." buttons (closes #4625)

This commit is contained in:
oobabooga 2023-11-16 18:16:42 -08:00
parent 510a01ef46
commit 6525707a7f
2 changed files with 10 additions and 28 deletions

View file

@ -1,8 +1,5 @@
from pathlib import Path from pathlib import Path
import yaml
from modules import utils
from modules.text_generation import get_encoded_length from modules.text_generation import get_encoded_length
@ -22,27 +19,6 @@ def load_prompt(fname):
return text 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): def count_tokens(text):
try: try:
tokens = get_encoded_length(text) tokens = get_encoded_length(text)

View file

@ -5,7 +5,7 @@ from pathlib import Path
import gradio as gr import gradio as gr
from PIL import Image 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.html_generator import chat_html_wrapper
from modules.text_generation import stop_everything_event from modules.text_generation import stop_everything_event
from modules.utils import gradio 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')) partial(chat.redraw_html, reset_cache=True), gradio(reload_arr), gradio('display'))
shared.gradio['send_instruction_to_default'].click( 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()}}') lambda: None, None, None, _js=f'() => {{{ui.switch_tabs_js}; switch_to_default()}}')
shared.gradio['send_instruction_to_notebook'].click( 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()}}') lambda: None, None, None, _js=f'() => {{{ui.switch_tabs_js}; switch_to_notebook()}}')
shared.gradio['send_instruction_to_negative_prompt'].click( 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()}}') lambda: None, None, None, _js=f'() => {{{ui.switch_tabs_js}; switch_to_generation_parameters()}}')
shared.gradio['send-chat-to-default'].click( shared.gradio['send-chat-to-default'].click(