cChat / inference.py
Shymaa2611
update
bf1d2cb
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