CoolFace
Apppublic

Limour/llama-python-streamingllm

sourceHugging Facegpl-3.0updated 2y agoView on Hugging Face
1likes
btn_retry.py55 linesDownload Raw Back to mods
1def init(cfg):2    # ========== 共同 ==========3    model = cfg['model']4    btn_com = cfg['btn_com']5    s_info = cfg['s_info']6    lock = cfg['session_lock']7    # ========== 特殊 ==========8    chat_template = cfg['chat_template']9    chatbot = cfg['chatbot']10    chat_display_format = cfg['chat_display_format']11 12    # ========== 重新生成一份回答 ==========13    def btn_retry(history, _n_keep, _n_discard,14                  _temperature, _repeat_penalty, _frequency_penalty,15                  _presence_penalty, _repeat_last_n, _top_k,16                  _top_p, _min_p, _typical_p,17                  _tfs_z, _mirostat_mode, _mirostat_eta,18                  _mirostat_tau, _usr, _char,19                  _rag, _max_tokens):20        with lock:21            if not cfg['session_active']:22                raise RuntimeError23            # ========== 回滚到上一次用户输入 ==========24            if not model.venv_revision('usr'):25                yield history, model.venv_info26                return27            # ========== 模型输出 ==========28            model.venv_create('char')29            _tmp = btn_com(_n_keep, _n_discard,30                           _temperature, _repeat_penalty, _frequency_penalty,31                           _presence_penalty, _repeat_last_n, _top_k,32                           _top_p, _min_p, _typical_p,33                           _tfs_z, _mirostat_mode, _mirostat_eta,34                           _mirostat_tau, _char, _max_tokens)35            for _h in _tmp:36                history[-1][1] = _h37                yield history, model.venv_info38            # ========== 输出完毕后格式化输出 ==========39            history[-1][1] = chat_display_format(history[-1][1])40            yield history, model.venv_info41 42    cfg['btn_retry_fn'] = {43        'fn': btn_retry,44        'inputs': [chatbot]+cfg['setting'],45        'outputs': [chatbot, s_info],46    }47    cfg['btn_retry_fn'].update(cfg['btn_concurrency'])48 49    cfg['btn_retry'].click(50        **cfg['btn_start']51    ).success(52        **cfg['btn_retry_fn']53    ).success(54        **cfg['btn_finish']55    )