DrishtiSharma commited on
Commit
930b56e
·
verified ·
1 Parent(s): 850643b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -11
app.py CHANGED
@@ -3,6 +3,7 @@ import torch
3
  from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
4
  import os
5
  from threading import Thread
 
6
 
7
  # Define model path for caching (Avoids reloading every app restart)
8
  MODEL_PATH = "/mnt/data/Phi-4-Hindi"
@@ -13,21 +14,28 @@ MODEL_NAME = "large-traversaal/Phi-4-Hindi"
13
  @st.cache_resource()
14
  def load_model():
15
  with st.spinner("Loading model... Please wait ⏳"):
16
- if not os.path.exists(MODEL_PATH):
17
- model = AutoModelForCausalLM.from_pretrained(
18
- MODEL_NAME, token=TOKEN, trust_remote_code=True, torch_dtype=torch.bfloat16
19
- )
20
- tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, token=TOKEN)
21
- model.save_pretrained(MODEL_PATH)
22
- tokenizer.save_pretrained(MODEL_PATH)
23
- else:
24
- model = AutoModelForCausalLM.from_pretrained(MODEL_PATH)
25
- tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
 
 
 
 
26
 
27
  return model, tokenizer
28
 
29
  # Load and move model to appropriate device
30
  model, tok = load_model()
 
 
 
31
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
32
  try:
33
  model = model.to(device)
@@ -117,7 +125,7 @@ if st.button("Send"):
117
  for output in response_generator:
118
  final_response = output # Store latest output
119
 
120
- #st.success("✅ Response generated!")
121
  # Add generated response to session state
122
  st.experimental_rerun()
123
 
 
3
  from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
4
  import os
5
  from threading import Thread
6
+ import requests
7
 
8
  # Define model path for caching (Avoids reloading every app restart)
9
  MODEL_PATH = "/mnt/data/Phi-4-Hindi"
 
14
  @st.cache_resource()
15
  def load_model():
16
  with st.spinner("Loading model... Please wait ⏳"):
17
+ try:
18
+ if not os.path.exists(MODEL_PATH):
19
+ model = AutoModelForCausalLM.from_pretrained(
20
+ MODEL_NAME, token=TOKEN, trust_remote_code=True, torch_dtype=torch.bfloat16
21
+ )
22
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, token=TOKEN)
23
+ model.save_pretrained(MODEL_PATH)
24
+ tokenizer.save_pretrained(MODEL_PATH)
25
+ else:
26
+ model = AutoModelForCausalLM.from_pretrained(MODEL_PATH)
27
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
28
+ except requests.exceptions.ConnectionError:
29
+ st.error("⚠️ Connection error! Unable to download the model. Please check your internet connection and try again.")
30
+ return None, None
31
 
32
  return model, tokenizer
33
 
34
  # Load and move model to appropriate device
35
  model, tok = load_model()
36
+ if model is None or tok is None:
37
+ st.stop()
38
+
39
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
40
  try:
41
  model = model.to(device)
 
125
  for output in response_generator:
126
  final_response = output # Store latest output
127
 
128
+ st.success("✅ Response generated!")
129
  # Add generated response to session state
130
  st.experimental_rerun()
131