docstr: Updates the chabot card in a streaming fashion
docstr_tok: ["Updates","the","chabot","card","in","a","streaming","fashion"]
code: def __init__(
      self,
      tokenizer: AutoTokenizer,
      q: Q,
      text_cleaner: Optional[Callable] = None,
      **decode_kwargs,
  ):
      """
      Updates the chabot card in a streaming fashion
      """
      super().__init__(tokenizer, skip_prompt=True, **decode_kwargs)
      self.text_cleaner = text_cleaner
      self.words_predicted_answer: List[str] = []
      self.q = q
      self.loop = asyncio.get_event_loop()
      self.finished = False
  
imports: import asyncio
  import gc
  import logging
  import os
  import threading
  from typing import Any, Callable, Dict, List, Optional
  import numpy
  import torch
  from accelerate import dispatch_model, infer_auto_device_map
  from accelerate.utils import get_balanced_memory
  from h2o_wave import Q
  from h2o_wave import data
  from h2o_wave import ui
  from transformers import AutoTokenizer, TextStreamer
  from llm_studio.app_utils.utils import get_experiments, get_ui_elements, parse_ui_elements, set_env
  from llm_studio.python_configs.base import DefaultConfigProblemBase
  from llm_studio.src.datasets.text_utils import get_tokenizer
  from llm_studio.src.models.text_causal_language_modeling_model import Model
  from llm_studio.src.utils.config_utils import NON_GENERATION_PROBLEM_TYPES, load_config_yaml
  from llm_studio.src.utils.modeling_utils import load_checkpoint
label_desc: Use image node_id 1 to create a new WaveChatStreamer object from inherited base classes: TextStreamer with example: obj = WaveChatStreamer(tokenizer, q, text_cleaner)