Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -92,6 +92,19 @@ def check_and_setup_environment():
|
|
| 92 |
if not os.getenv("OPENAI_API_KEY") and not os.getenv("ANTHROPIC_API_KEY"):
|
| 93 |
status_messages.append("ℹ No LLM API keys found (LLM modes will be unavailable)")
|
| 94 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
return "\n".join(status_messages)
|
| 96 |
|
| 97 |
# Run setup on startup
|
|
@@ -427,10 +440,10 @@ def create_interface():
|
|
| 427 |
)
|
| 428 |
|
| 429 |
nmt_backend = gr.Dropdown(
|
| 430 |
-
choices=["NLLB", "Madlad", "Opus", "CT2", "Auto"],
|
| 431 |
value="NLLB",
|
| 432 |
label="NMT Backend",
|
| 433 |
-
info="NLLB:
|
| 434 |
)
|
| 435 |
|
| 436 |
nllb_size = gr.Dropdown(
|
|
@@ -555,8 +568,20 @@ def create_interface():
|
|
| 555 |
def handle_translate(input_f, src_lang_name, tgt_lang_name, mode, nmt, nllb_sz, algn, llm):
|
| 556 |
src_code = languages.get(src_lang_name, "en")
|
| 557 |
tgt_code = languages.get(tgt_lang_name, "de")
|
| 558 |
-
|
| 559 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 560 |
translate_btn.click(
|
| 561 |
fn=handle_translate,
|
| 562 |
inputs=[
|
|
|
|
| 92 |
if not os.getenv("OPENAI_API_KEY") and not os.getenv("ANTHROPIC_API_KEY"):
|
| 93 |
status_messages.append("ℹ No LLM API keys found (LLM modes will be unavailable)")
|
| 94 |
|
| 95 |
+
# Check gradio-client
|
| 96 |
+
try:
|
| 97 |
+
import gradio_client
|
| 98 |
+
status_messages.append("✓ gradio-client installed")
|
| 99 |
+
except ImportError:
|
| 100 |
+
status_messages.append("⚠ gradio-client not found - installing...")
|
| 101 |
+
try:
|
| 102 |
+
subprocess.run([sys.executable, "-m", "pip", "install", "gradio-client"], check=True)
|
| 103 |
+
status_messages.append("✓ gradio-client installed successfully")
|
| 104 |
+
except Exception as e:
|
| 105 |
+
status_messages.append(f"✗ gradio-client installation failed: {e}")
|
| 106 |
+
|
| 107 |
+
|
| 108 |
return "\n".join(status_messages)
|
| 109 |
|
| 110 |
# Run setup on startup
|
|
|
|
| 440 |
)
|
| 441 |
|
| 442 |
nmt_backend = gr.Dropdown(
|
| 443 |
+
choices=["NLLB", "Madlad", "Opus", "CT2", "SauerkrautLM (API)", "Auto"],
|
| 444 |
value="NLLB",
|
| 445 |
label="NMT Backend",
|
| 446 |
+
info="NLLB: Local | SauerkrautLM: High-quality API (German/EU)"
|
| 447 |
)
|
| 448 |
|
| 449 |
nllb_size = gr.Dropdown(
|
|
|
|
| 568 |
def handle_translate(input_f, src_lang_name, tgt_lang_name, mode, nmt, nllb_sz, algn, llm):
|
| 569 |
src_code = languages.get(src_lang_name, "en")
|
| 570 |
tgt_code = languages.get(tgt_lang_name, "de")
|
| 571 |
+
|
| 572 |
+
# Map UI name to backend string
|
| 573 |
+
backend_map = {
|
| 574 |
+
"NLLB": "nllb",
|
| 575 |
+
"Madlad": "madlad",
|
| 576 |
+
"Opus": "opus",
|
| 577 |
+
"CT2": "ct2",
|
| 578 |
+
"SauerkrautLM (API)": "sauerkraut",
|
| 579 |
+
"Auto": "auto"
|
| 580 |
+
}
|
| 581 |
+
nmt_val = backend_map.get(nmt, "nllb")
|
| 582 |
+
|
| 583 |
+
return translate_document_sync(input_f, src_code, tgt_code, mode, nmt_val, nllb_sz, algn, llm)
|
| 584 |
+
|
| 585 |
translate_btn.click(
|
| 586 |
fn=handle_translate,
|
| 587 |
inputs=[
|