KhantKyaw's picture
Update app.py
bdedfa4 verified
raw
history blame
1.32 kB
import streamlit as st
from transformers import GPT2Tokenizer, GPT2LMHeadModel
model_path='KhantKyaw/GPT2_chatbot2'
tokenizer = GPT2Tokenizer.from_pretrained(model_path)
tokenizer.pad_token = tokenizer.eos_token
model = GPT2LMHeadModel.from_pretrained(model_path)
def generate_response(input_text):
input_ids = tokenizer.encode(input_text, return_tensors='pt')
output_sequences = model.generate(
input_ids=input_ids,
max_length=100,
temperature=1.0,
top_k=50,
top_p=0.95,
repetition_penalty=1.2,
do_sample=True,
pad_token_id=tokenizer.eos_token_id,
)
response_with_prefix = tokenizer.decode(output_sequences[:, input_ids.shape[-1]:][0], skip_special_tokens=True)
response_start_idx = response_with_prefix.find("answer: ")
if response_start_idx != -1:
# Extract everything after "answer: "
response = response_with_prefix[response_start_idx + len("answer: "):]
else:
# If "answer:" is not found in the response, return the whole response
response = response_with_prefix
return response
prompt = st.chat_input(placeholder="Say Something!",key=None, max_chars=None, disabled=False, on_submit=None, args=None, kwargs=None)
if prompt:
with st.chat_message(name="AI",avatar=None):
st.write(generate_response(prompt))