HausaNLP commited on
Commit
be10f7d
Β·
1 Parent(s): aa71470

Simplify NLLB: remove 503 handling, clean cache logic, remove unused None path

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +7 -11
src/streamlit_app.py CHANGED
@@ -571,7 +571,7 @@ def _get_nllb_api_url():
571
  return url if url.startswith("http") else "https://" + url
572
 
573
  def translate_with_nllb(text, target_language, _api_url):
574
- """Translate via NLLB API. Uses session-state cache so switching back is instant."""
575
  cache = st.session_state.setdefault('_nllb_cache', {})
576
  key = (text, target_language)
577
  if key in cache:
@@ -587,12 +587,9 @@ def translate_with_nllb(text, target_language, _api_url):
587
  )
588
  if response.status_code == 200:
589
  result = response.json().get(api_lang, '❌ Translation not found in response')
590
- cache[key] = result # only cache successful results
591
  return result
592
- elif response.status_code == 503:
593
- return None # GPU busy β€” caller keeps previous result, not cached
594
- else:
595
- return f"❌ API Error: {response.status_code}"
596
  except Exception as e:
597
  return f"❌ Error: {str(e)}"
598
 
@@ -813,11 +810,10 @@ def main():
813
  result = translate_with_nllb(input_text, target_lang, _get_nllb_api_url())
814
  else:
815
  result = ""
816
- if result is not None: # None = server busy (503), keep previous result
817
- st.session_state.translation_result = result
818
- st.session_state.last_translated_text = input_text
819
- st.session_state.last_translated_model = selected_model_option
820
- st.session_state.last_translated_lang = st.session_state.target_language
821
 
822
  output_area.text_area(
823
  f"Translation ({st.session_state.target_language})",
 
571
  return url if url.startswith("http") else "https://" + url
572
 
573
  def translate_with_nllb(text, target_language, _api_url):
574
+ """Translate via NLLB API. Session-state cache so switching back to a language is instant."""
575
  cache = st.session_state.setdefault('_nllb_cache', {})
576
  key = (text, target_language)
577
  if key in cache:
 
587
  )
588
  if response.status_code == 200:
589
  result = response.json().get(api_lang, '❌ Translation not found in response')
590
+ cache[key] = result
591
  return result
592
+ return f"❌ API Error: {response.status_code}"
 
 
 
593
  except Exception as e:
594
  return f"❌ Error: {str(e)}"
595
 
 
810
  result = translate_with_nllb(input_text, target_lang, _get_nllb_api_url())
811
  else:
812
  result = ""
813
+ st.session_state.translation_result = result
814
+ st.session_state.last_translated_text = input_text
815
+ st.session_state.last_translated_model = selected_model_option
816
+ st.session_state.last_translated_lang = st.session_state.target_language
 
817
 
818
  output_area.text_area(
819
  f"Translation ({st.session_state.target_language})",