Spaces:
Running
Running
HausaNLP commited on
Commit Β·
be10f7d
1
Parent(s): aa71470
Simplify NLLB: remove 503 handling, clean cache logic, remove unused None path
Browse files- 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.
|
| 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
|
| 591 |
return result
|
| 592 |
-
|
| 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 |
-
|
| 817 |
-
|
| 818 |
-
|
| 819 |
-
|
| 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})",
|