junaid17 commited on
Commit
31cecd9
·
verified ·
1 Parent(s): 44060ba

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +12 -20
main.py CHANGED
@@ -56,7 +56,7 @@ body {{
56
  )
57
 
58
  # -----------------------------
59
- # LOAD MODEL WITH LOADER
60
  # -----------------------------
61
  BASE_MODEL = "facebook/nllb-200-distilled-600M"
62
  LORA_REPO = "junaid17/nllb-kurdish-lora"
@@ -64,13 +64,9 @@ LORA_REPO = "junaid17/nllb-kurdish-lora"
64
 
65
  @st.cache_resource
66
  def load_model():
67
- with st.spinner(""):
68
- st.markdown("<div class='dots-loader'><div></div><div></div><div></div></div>", unsafe_allow_html=True)
69
-
70
- tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL)
71
- base = AutoModelForSeq2SeqLM.from_pretrained(BASE_MODEL)
72
- model = PeftModel.from_pretrained(base, LORA_REPO)
73
-
74
  return model, tokenizer
75
 
76
 
@@ -111,21 +107,16 @@ with colTheme:
111
  with col2:
112
  tgt_lang = st.selectbox("To:", ["Kurdish", "English"])
113
 
114
-
115
- # Handle swap
116
  if swap:
117
  src_lang, tgt_lang = tgt_lang, src_lang
118
- st.session_state["LANG1"] = src_lang
119
- st.session_state["LANG2"] = tgt_lang
120
  st.rerun()
121
 
122
- # Handle dark/light switch
123
  if toggle:
124
  st.session_state["theme"] = "dark" if THEME == "light" else "light"
125
  st.rerun()
126
 
127
-
128
- # Language mapping
129
  lang_codes = {
130
  "English": "eng_Latn",
131
  "Kurdish": "ckb_Arab"
@@ -136,23 +127,24 @@ tgt_code = lang_codes[tgt_lang]
136
 
137
  text = st.text_area("Enter text:", height=180)
138
 
 
139
  # -----------------------------
140
- # TRANSLATE BUTTON
141
  # -----------------------------
142
  if st.button("Translate"):
143
  if not text.strip():
144
  st.warning("Please enter some text.")
145
  else:
146
- # Show 3-dot loader ONLY during translation
147
- loader = st.markdown("<div class='dots-loader'><div></div><div></div><div></div></div>", unsafe_allow_html=True)
 
 
148
 
149
  output = translate(text, src_code, tgt_code)
150
 
151
- # Remove loader
152
  loader.empty()
153
 
154
  st.subheader("Output")
155
  st.markdown(f"<div class='output-box'>{output}</div>", unsafe_allow_html=True)
156
 
157
- # Copy button
158
  st.button("Copy Output", on_click=lambda: st.session_state.update({"copied": output}))
 
56
  )
57
 
58
  # -----------------------------
59
+ # LOAD MODEL (NO LOADER HERE)
60
  # -----------------------------
61
  BASE_MODEL = "facebook/nllb-200-distilled-600M"
62
  LORA_REPO = "junaid17/nllb-kurdish-lora"
 
64
 
65
  @st.cache_resource
66
  def load_model():
67
+ tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL)
68
+ base = AutoModelForSeq2SeqLM.from_pretrained(BASE_MODEL)
69
+ model = PeftModel.from_pretrained(base, LORA_REPO)
 
 
 
 
70
  return model, tokenizer
71
 
72
 
 
107
  with col2:
108
  tgt_lang = st.selectbox("To:", ["Kurdish", "English"])
109
 
110
+ # Swap
 
111
  if swap:
112
  src_lang, tgt_lang = tgt_lang, src_lang
 
 
113
  st.rerun()
114
 
115
+ # Toggle theme
116
  if toggle:
117
  st.session_state["theme"] = "dark" if THEME == "light" else "light"
118
  st.rerun()
119
 
 
 
120
  lang_codes = {
121
  "English": "eng_Latn",
122
  "Kurdish": "ckb_Arab"
 
127
 
128
  text = st.text_area("Enter text:", height=180)
129
 
130
+
131
  # -----------------------------
132
+ # TRANSLATE BUTTON (with loader)
133
  # -----------------------------
134
  if st.button("Translate"):
135
  if not text.strip():
136
  st.warning("Please enter some text.")
137
  else:
138
+ loader = st.markdown(
139
+ "<div class='dots-loader'><div></div><div></div><div></div></div>",
140
+ unsafe_allow_html=True
141
+ )
142
 
143
  output = translate(text, src_code, tgt_code)
144
 
 
145
  loader.empty()
146
 
147
  st.subheader("Output")
148
  st.markdown(f"<div class='output-box'>{output}</div>", unsafe_allow_html=True)
149
 
 
150
  st.button("Copy Output", on_click=lambda: st.session_state.update({"copied": output}))