Files
KoboldAI-Client/modeling/post_token_hooks.py
somebody 3646aa9e83 Model: Respect model lazyload over kaivars
kaivars dictates model config unless its from outside aiserver or
whatever.
2023-03-10 20:00:39 -06:00

28 lines
690 B
Python

import torch
import utils
from modeling.inference_model import InferenceModel
class PostTokenHooks:
@staticmethod
def stream_tokens(
model: InferenceModel,
input_ids: torch.LongTensor,
) -> None:
if not model.gen_state.get("do_streaming"):
return
if not utils.koboldai_vars.output_streaming:
return
data = [
utils.applyoutputformatting(
utils.decodenewlines(model.tokenizer.decode(x[-1])),
no_sentence_trimming=True,
no_single_line=True,
)
for x in input_ids
]
utils.koboldai_vars.actions.stream_tokens(data)