myfaqmodel / app.py
kkhan's picture
Update app.py
bb997cb
Raw
History Blame Contribute Delete
1.78 kB
from transformers import GPT2Tokenizer, GPT2LMHeadModel, TextDataset, DataCollatorForLanguageModeling
# Load the fine-tuned model and tokenizer
model = GPT2LMHeadModel.from_pretrained("kkhan/gpt2-medium-iba-faq")
tokenizer = GPT2Tokenizer.from_pretrained("kkhan/gpt2-medium-iba-faq")
def get_answer(model, tokenizer, question, max_length):
input_ids = tokenizer.encode(question, return_tensors="pt")
# Create the attention mask and pad token id
attention_mask = torch.ones_like(input_ids)
pad_token_id = tokenizer.eos_token_id
output = model.generate(
input_ids,
max_length=max_length,
num_return_sequences=1,
attention_mask=attention_mask,
pad_token_id=pad_token_id
)
return tokenizer.decode(output[0], skip_special_tokens=True)
#Test the chatbot
#question = "Where does the IBA conduct aptitude tests and interviews?" # Replace with your desired prompt
#answer = get_answer(model, tokenizer, question,50)
#print("Generated response:", answer)
import gradio as gr
def chat(chat_history, user_input):
bot_response = get_answer(model, tokenizer,user_input,100)
print(bot_response)
response = ""
for letter in ''.join(bot_response.response): #[bot_response[i:i+1] for i in range(0, len(bot_response), 1)]:
response += letter + ""
yield chat_history + [(user_input, bot_response)]
with gr.Blocks() as demo:
gr.Markdown('# Q&A Bot with Fine-tuned Model')
with gr.Tab("Knowledge Bot"):
# inputbox = gr.Textbox("Input your text to build a Q&A Bot here.....")
chatbot = gr.Chatbot()
message = gr.Textbox ("what undergraduate programs does IBA offer?")
message.submit(chat, [chatbot, message], chatbot)
demo.queue().launch(debug = True)