Refactor everything (#3481)
This commit is contained in:
parent
d4b851bdc8
commit
65aa11890f
19 changed files with 1306 additions and 1178 deletions
51
modules/prompts.py
Normal file
51
modules/prompts.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
import re
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
|
||||
from modules import utils
|
||||
from modules.text_generation import get_encoded_length
|
||||
|
||||
|
||||
def load_prompt(fname):
|
||||
if fname in ['None', '']:
|
||||
return ''
|
||||
elif fname.startswith('Instruct-'):
|
||||
fname = re.sub('^Instruct-', '', fname)
|
||||
file_path = Path(f'characters/instruction-following/{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(' ')
|
||||
else:
|
||||
file_path = Path(f'prompts/{fname}.txt')
|
||||
if not file_path.exists():
|
||||
return ''
|
||||
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
text = f.read()
|
||||
if text[-1] == '\n':
|
||||
text = text[:-1]
|
||||
|
||||
return text
|
||||
|
||||
|
||||
def count_tokens(text):
|
||||
try:
|
||||
tokens = get_encoded_length(text)
|
||||
return f'{tokens} tokens in the input.'
|
||||
except:
|
||||
return 'Couldn\'t count the number of tokens. Is a tokenizer loaded?'
|
Loading…
Add table
Add a link
Reference in a new issue