GlastonR commited on
Commit
719b72b
·
verified ·
1 Parent(s): 3aeba75

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -28
app.py CHANGED
@@ -1,35 +1,31 @@
1
- import torch
2
- from transformers import AutoModelForCausalLM, AutoTokenizer
3
  import streamlit as st
 
4
 
5
- # Load a smaller model and tokenizer
6
- model_name = "TinyLlama/TinyLlama-1.1B-Chat-v1.0" # Replace with any model name from the list
7
- tokenizer = AutoTokenizer.from_pretrained(model_name)
8
- model = AutoModelForCausalLM.from_pretrained(model_name)
9
-
10
- # Function to generate a response from the chatbot
11
- def chat_with_bot(prompt):
12
- # Encode the input prompt
13
- input_ids = tokenizer.encode(prompt, return_tensors="pt")
14
-
15
- # Generate response
16
- with torch.no_grad():
17
- output = model.generate(input_ids, max_length=150, num_return_sequences=1)
18
 
19
- # Decode the generated text
20
- response = tokenizer.decode(output[0], skip_special_tokens=True)
 
 
21
  return response
22
 
23
- # Streamlit UI
24
- st.title("My Boss Glaston")
25
- st.write("Chatbot: Hello! I'm here to help you. Type your message below.")
 
 
 
26
 
27
- # Input box for user messages
28
- user_input = st.text_input("You:")
 
 
29
 
30
- if st.button("Send"):
31
- if user_input:
32
- response = chat_with_bot(user_input)
33
- st.text_area("Chatbot:", value=response, height=100, disabled=True)
34
- else:
35
- st.text_area("Chatbot:", value="Please type a message!", height=100, disabled=True)
 
 
 
1
  import streamlit as st
2
+ from transformers import AutoModelForCausalLM, AutoTokenizer
3
 
4
+ # Load model and tokenizer
5
+ @st.cache_resource
6
+ def load_model():
7
+ model_name = "microsoft/Phi-3-mini-4k-instruct"
8
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
9
+ model = AutoModelForCausalLM.from_pretrained(model_name)
10
+ return model, tokenizer
 
 
 
 
 
 
11
 
12
+ def generate_text(prompt, model, tokenizer):
13
+ inputs = tokenizer(prompt, return_tensors="pt")
14
+ outputs = model.generate(inputs.input_ids, max_length=300, temperature=0.7, top_k=50, top_p=0.95)
15
+ response = tokenizer.decode(outputs[0], skip_special_tokens=True)
16
  return response
17
 
18
+ # Streamlit app
19
+ def main():
20
+ st.title("Instruction-Following Model: Phi-3-Mini-4k-Instruct")
21
+ st.write("Ask a question or give an instruction to get a response.")
22
+
23
+ model, tokenizer = load_model()
24
 
25
+ prompt = st.text_input("Enter your prompt:", "Explain the concept of machine learning in simple terms.")
26
+ if st.button("Generate Response"):
27
+ response = generate_text(prompt, model, tokenizer)
28
+ st.write(response)
29
 
30
+ if __name__ == "__main__":
31
+ main()