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[0], skip_special_tokens=True) response_start_idx = response_with_prefix.find("answer: ") if response_start_idx != -1: response = response_with_prefix[response_start_idx + len("answer: "):] else: 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))