nxphi47/MultiPurpose-Chatbot-DEMO
1
1import os2import numpy as np3from huggingface_hub import snapshot_download4# ! Avoid importing transformers5# from transformers import AutoConfig, AutoTokenizer, PreTrainedTokenizer6from typing import Any, Callable, Dict, Generator, List, Optional, Tuple, Union7import time8 9 10class BaseEngine(object):11 def __init__(self, **kwargs) -> None:12 pass13 14 @property15 def max_position_embeddings(self) -> int:16 return 1000017 18 @property19 def tokenizer(self):20 raise NotImplementedError21 22 @property23 def processor(self):24 raise NotImplementedError25 26 def load_model(self, ):27 raise NotImplementedError28 29 def apply_chat_template(self, conversations, add_generation_prompt: bool, add_special_tokens=False, **kwargs) -> str:30 """31 return string convo, add_special_tokens should be added later32 """33 bos_token = self.tokenizer.bos_token34 eos_token = self.tokenizer.eos_token35 if not add_special_tokens:36 # prevent bos being added to string37 self.tokenizer.bos_token = ""38 self.tokenizer.eos_token = ""39 full_prompt = self.tokenizer.apply_chat_template(40 conversations, add_generation_prompt=add_generation_prompt,41 tokenize=False,42 )43 self.tokenizer.bos_token = bos_token44 self.tokenizer.eos_token = eos_token45 return full_prompt46 47 