|
def init(cfg): |
|
|
|
model = cfg['model'] |
|
btn_com = cfg['btn_com'] |
|
s_info = cfg['s_info'] |
|
lock = cfg['session_lock'] |
|
|
|
chat_template = cfg['chat_template'] |
|
chatbot = cfg['chatbot'] |
|
chat_display_format = cfg['chat_display_format'] |
|
|
|
|
|
def btn_retry(history, _n_keep, _n_discard, |
|
_temperature, _repeat_penalty, _frequency_penalty, |
|
_presence_penalty, _repeat_last_n, _top_k, |
|
_top_p, _min_p, _typical_p, |
|
_tfs_z, _mirostat_mode, _mirostat_eta, |
|
_mirostat_tau, _usr, _char, |
|
_rag, _max_tokens): |
|
with lock: |
|
if not cfg['session_active']: |
|
raise RuntimeError |
|
|
|
if not model.venv_revision('usr'): |
|
yield history, model.venv_info |
|
return |
|
|
|
model.venv_create('char') |
|
_tmp = btn_com(_n_keep, _n_discard, |
|
_temperature, _repeat_penalty, _frequency_penalty, |
|
_presence_penalty, _repeat_last_n, _top_k, |
|
_top_p, _min_p, _typical_p, |
|
_tfs_z, _mirostat_mode, _mirostat_eta, |
|
_mirostat_tau, _char, _max_tokens) |
|
for _h in _tmp: |
|
history[-1][1] = _h |
|
yield history, model.venv_info |
|
|
|
history[-1][1] = chat_display_format(history[-1][1]) |
|
yield history, model.venv_info |
|
|
|
cfg['btn_retry_fn'] = { |
|
'fn': btn_retry, |
|
'inputs': [chatbot]+cfg['setting'], |
|
'outputs': [chatbot, s_info], |
|
} |
|
cfg['btn_retry_fn'].update(cfg['btn_concurrency']) |
|
|
|
cfg['btn_retry'].click( |
|
**cfg['btn_start'] |
|
).success( |
|
**cfg['btn_retry_fn'] |
|
).success( |
|
**cfg['btn_finish'] |
|
) |