CoolFace
Apppublic

Limour/llama-python-streamingllm

sourceHugging Facegpl-3.0updated 2y agoView on Hugging Face
1likes
btn_vo.py51 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    # ========== 输出一段旁白 ==========9    def btn_vo(_n_keep, _n_discard,10               _temperature, _repeat_penalty, _frequency_penalty,11               _presence_penalty, _repeat_last_n, _top_k,12               _top_p, _min_p, _typical_p,13               _tfs_z, _mirostat_mode, _mirostat_eta,14               _mirostat_tau, _usr, _char,15               _rag, _max_tokens, _keep_last: int):16        with lock:17            if not cfg['session_active']:18                raise RuntimeError19            if cfg['btn_stop_status']:20                yield '', model.venv_info21                return22            # ========== 模型输出旁白 ==========23            model.venv_create('vo')  # 创建隔离环境24            _tmp = btn_com(_n_keep, _n_discard,25                           _temperature, _repeat_penalty, _frequency_penalty,26                           _presence_penalty, _repeat_last_n, _top_k,27                           _top_p, _min_p, _typical_p,28                           _tfs_z, _mirostat_mode, _mirostat_eta,29                           _mirostat_tau, '旁白', _max_tokens)30            for _h in _tmp:31                yield _h, model.venv_info32            # ========== 及时清理上一次生成的旁白 ==========33            model.venv_remove('vo', keep_last=_keep_last)34            yield _h, model.venv_info35            print('清理旁白', model.venv_info)36 37    cfg['btn_vo_fn'] = {38        'fn': btn_vo,39        'inputs': cfg['setting'] + [cfg['setting_btn_vo_keep_last']],40        'outputs': [cfg['vo'], s_info]41    }42    cfg['btn_vo_fn'].update(cfg['btn_concurrency'])43 44    cfg['btn_vo'].click(45        **cfg['btn_start']46    ).success(47        **cfg['btn_vo_fn']48    ).success(49        **cfg['btn_finish']50    )51