File size: 1,178 Bytes
64c6e7a
 
 
 
 
 
 
 
 
 
a2142e5
 
64c6e7a
a2142e5
64c6e7a
de7ea03
64c6e7a
 
 
 
 
 
 
de171eb
f34399d
bdedfa4
bace4b7
6fd5a3c
bace4b7
 
6fd5a3c
bace4b7
bdedfa4
bace4b7
64c6e7a
a2142e5
64c6e7a
 
a2142e5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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))