from transformers import GPT2Tokenizer, GPT2LMHeadModel from dataset import clean import re import gdown import os cache_dir = os.path.expanduser("~/.cache/gdown") os.makedirs(cache_dir, exist_ok=True) def load_tokenizer_model(): folder_url = "https://drive.google.com/drive/folders/1DDJ9t-HfMrf6OLYim5bVrP20QgyOZahc?usp=drive_link" local_folder="ChatbotCheckpoint" if not os.path.exists(local_folder) or not os.listdir(local_folder): print("Downloading model and tokenizer...") gdown.download_folder(folder_url, output=local_folder, quiet=False) else: print("Model and tokenizer already cached, skipping download.") model_name = "ChatbotCheckpoint" model = GPT2LMHeadModel.from_pretrained(model_name) model.eval() tokenizer = GPT2Tokenizer.from_pretrained(model_name) tokenizer.pad_token = tokenizer.eos_token return tokenizer, model def generate_answer(query): tokenizer,model=load_tokenizer_model() inputs = tokenizer.encode(query, return_tensors='pt') attention_mask = (inputs != tokenizer.pad_token_id).long() outputs =model.generate(inputs, attention_mask=attention_mask, max_length=100, num_return_sequences=1) return tokenizer.decode(outputs[0], skip_special_tokens=True) def inference(query): query=clean(query) if "power wash" in query: answer="Power wash Ctrl + Alt + Shift + r . On the logging Screen." return answer elif "change password" in query or "changing password" in query : answer=""" Password Change Process To Change Your Password – you must complete these steps on the RCS network. Note - preferably at the beginning of your work day – not at the end of the day when you are rushing out. 1- If you use the RCS WIFI on your cell phone, you need to “Forget This Network”. On the iPhone: Settings – WIFI – RCS – “Forget This Network” 2- Log in to your computer like you normally would. 3- Hold down the Ctrl+Alt+Del keys all at once. 4- Select Change a password. 5- Type your current password in the Old Password field. 6- Type your new password in the New Password field and in the Confirm password field. 7- Press the Enter Key to complete the reset of your password. 8- Once your password has been changed – please open Outlook and let the emails update and also log into your Google Drive. 9- When you are done using your computer for the day, please “shutdown” your computer before you leave for the day. 10- Lower left corner click then then “Shutdown”. """ return answer elif "battery life" in query: answer="Battery life test: 1- Control, Alt, T . 2- Battery_test on the script screen" return answer else: answer = generate_answer(query) modified_answer = re.sub(query, "", answer) answer=modified_answer.strip() return answer