sabahat-shakeel commited on
Commit
f6432f1
·
verified ·
1 Parent(s): 1b6e6dd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -10
app.py CHANGED
@@ -1,24 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
- from transformers import GPT2LMHeadModel, GPT2Tokenizer
3
 
4
- # Load the GPT-2 model and tokenizer
5
  @st.cache_resource
6
  def load_model():
7
- model_name = "gpt2"
8
- tokenizer = GPT2Tokenizer.from_pretrained(model_name)
9
- model = GPT2LMHeadModel.from_pretrained(model_name)
10
  return model, tokenizer
11
 
12
- # Function to generate a response from GPT-2
13
  def generate_response(input_text, model, tokenizer):
14
- inputs = tokenizer.encode(input_text, return_tensors="pt")
15
- outputs = model.generate(inputs, max_length=150, do_sample=True, top_p=0.9, top_k=50)
16
- response = tokenizer.decode(outputs[0], skip_special_tokens=True)
17
  return response
18
 
19
  # Streamlit UI setup
20
  def main():
21
- st.title("GPT-2 Chatbot")
22
 
23
  # Chat history
24
  if 'history' not in st.session_state:
 
1
+ # import streamlit as st
2
+ # from transformers import GPT2LMHeadModel, GPT2Tokenizer
3
+
4
+ # # Load the GPT-2 model and tokenizer
5
+ # @st.cache_resource
6
+ # def load_model():
7
+ # model_name = "gpt2"
8
+ # tokenizer = GPT2Tokenizer.from_pretrained(model_name)
9
+ # model = GPT2LMHeadModel.from_pretrained(model_name)
10
+ # return model, tokenizer
11
+
12
+ # # Function to generate a response from GPT-2
13
+ # def generate_response(input_text, model, tokenizer):
14
+ # inputs = tokenizer.encode(input_text, return_tensors="pt")
15
+ # outputs = model.generate(inputs, max_length=150, do_sample=True, top_p=0.9, top_k=50)
16
+ # response = tokenizer.decode(outputs[0], skip_special_tokens=True)
17
+ # return response
18
+
19
+ # # Streamlit UI setup
20
+ # def main():
21
+ # st.title("GPT-2 Chatbot")
22
+
23
+ # # Chat history
24
+ # if 'history' not in st.session_state:
25
+ # st.session_state['history'] = []
26
+
27
+ # user_input = st.text_input("You:", "")
28
+
29
+ # # Generate and display response
30
+ # if user_input:
31
+ # model, tokenizer = load_model()
32
+ # response = generate_response(user_input, model, tokenizer)
33
+ # st.session_state['history'].append({"user": user_input, "bot": response})
34
+
35
+ # # Display chat history
36
+ # for chat in st.session_state['history']:
37
+ # st.write(f"You: {chat['user']}")
38
+ # st.write(f"Bot: {chat['bot']}")
39
+
40
+ # if __name__ == "__main__":
41
+ # main()
42
  import streamlit as st
43
+ from transformers import AutoModelForCausalLM, AutoTokenizer
44
 
45
+ # Load the DialoGPT model and tokenizer
46
  @st.cache_resource
47
  def load_model():
48
+ model_name = "microsoft/DialoGPT-medium"
49
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
50
+ model = AutoModelForCausalLM.from_pretrained(model_name)
51
  return model, tokenizer
52
 
53
+ # Function to generate a response from DialoGPT
54
  def generate_response(input_text, model, tokenizer):
55
+ inputs = tokenizer.encode(input_text + tokenizer.eos_token, return_tensors="pt")
56
+ outputs = model.generate(inputs, max_length=150, pad_token_id=tokenizer.eos_token_id, do_sample=True, top_p=0.9, top_k=50)
57
+ response = tokenizer.decode(outputs[:, inputs.shape[-1]:][0], skip_special_tokens=True)
58
  return response
59
 
60
  # Streamlit UI setup
61
  def main():
62
+ st.title("DialoGPT Chatbot")
63
 
64
  # Chat history
65
  if 'history' not in st.session_state: