CoolFace
Apppublic

nxphi47/MultiPurpose-Chatbot-DEMO

sourceHugging Faceapache-2.0updated 3y agoView on Hugging Face
1likes
base_engine.py47 linesDownload Raw Back to engines
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