Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
-
|
2 |
import gradio as gr
|
3 |
import requests
|
4 |
import os
|
|
|
5 |
API_URL = os.environ.get("API_URL")
|
6 |
|
7 |
# Hugging Face API configuration
|
@@ -13,7 +13,7 @@ def query(payload):
|
|
13 |
|
14 |
def translate(text, source_lang, target_lang):
|
15 |
if source_lang == target_lang:
|
16 |
-
return text
|
17 |
|
18 |
instruction = f"Translate the text from {source_lang} to {target_lang}"
|
19 |
|
@@ -29,35 +29,74 @@ def translate(text, source_lang, target_lang):
|
|
29 |
"inputs": input_text,
|
30 |
"parameters": {
|
31 |
"max_new_tokens": 8000,
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
"stop": ['### Input']
|
36 |
}
|
37 |
})
|
38 |
|
39 |
-
# Extract the translated text from the model output
|
40 |
-
# Assuming the model returns just the translation without the instruction format
|
41 |
translated_text = output[0]['generated_text']
|
42 |
|
43 |
-
return translated_text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
|
45 |
# Create the Gradio interface
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
gr.
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
|
62 |
# Launch the app
|
63 |
iface.launch()
|
|
|
|
|
1 |
import gradio as gr
|
2 |
import requests
|
3 |
import os
|
4 |
+
|
5 |
API_URL = os.environ.get("API_URL")
|
6 |
|
7 |
# Hugging Face API configuration
|
|
|
13 |
|
14 |
def translate(text, source_lang, target_lang):
|
15 |
if source_lang == target_lang:
|
16 |
+
return text, text, source_lang, target_lang
|
17 |
|
18 |
instruction = f"Translate the text from {source_lang} to {target_lang}"
|
19 |
|
|
|
29 |
"inputs": input_text,
|
30 |
"parameters": {
|
31 |
"max_new_tokens": 8000,
|
32 |
+
"return_text": False,
|
33 |
+
"return_full_text": False,
|
34 |
+
"handle_long_generation": "hole"
|
|
|
35 |
}
|
36 |
})
|
37 |
|
|
|
|
|
38 |
translated_text = output[0]['generated_text']
|
39 |
|
40 |
+
return translated_text, input_text, source_lang, target_lang
|
41 |
+
|
42 |
+
def continue_generation(translated_text, input_text, source_lang, target_lang):
|
43 |
+
full_text = f"{input_text}{translated_text}"
|
44 |
+
|
45 |
+
output = query({
|
46 |
+
"inputs": full_text,
|
47 |
+
"parameters": {
|
48 |
+
"max_new_tokens": 8000,
|
49 |
+
"return_text": False,
|
50 |
+
"return_full_text": False,
|
51 |
+
"handle_long_generation": "hole"
|
52 |
+
}
|
53 |
+
})
|
54 |
+
|
55 |
+
new_translated_text = output[0]['generated_text']
|
56 |
+
updated_translated_text = translated_text + new_translated_text
|
57 |
+
|
58 |
+
return updated_translated_text, input_text, source_lang, target_lang
|
59 |
|
60 |
# Create the Gradio interface
|
61 |
+
with gr.Blocks() as iface:
|
62 |
+
gr.Markdown("# English-Welsh Translator")
|
63 |
+
gr.Markdown("Translate text between English and Welsh using a Hugging Face Inference Endpoint.")
|
64 |
+
|
65 |
+
with gr.Row():
|
66 |
+
input_text = gr.Textbox(label="Enter text to translate")
|
67 |
+
output_text = gr.Textbox(label="Translated Text")
|
68 |
+
|
69 |
+
with gr.Row():
|
70 |
+
source_lang = gr.Radio(["English", "Welsh"], label="Source Language", value="English")
|
71 |
+
target_lang = gr.Radio(["English", "Welsh"], label="Target Language", value="Welsh")
|
72 |
+
|
73 |
+
translate_button = gr.Button("Translate")
|
74 |
+
continue_button = gr.Button("Continue Generating")
|
75 |
+
|
76 |
+
# Hidden components to store state
|
77 |
+
input_prompt = gr.Textbox(visible=False)
|
78 |
+
source_lang_state = gr.Textbox(visible=False)
|
79 |
+
target_lang_state = gr.Textbox(visible=False)
|
80 |
+
|
81 |
+
translate_button.click(
|
82 |
+
translate,
|
83 |
+
inputs=[input_text, source_lang, target_lang],
|
84 |
+
outputs=[output_text, input_prompt, source_lang_state, target_lang_state]
|
85 |
+
)
|
86 |
+
|
87 |
+
continue_button.click(
|
88 |
+
continue_generation,
|
89 |
+
inputs=[output_text, input_prompt, source_lang_state, target_lang_state],
|
90 |
+
outputs=[output_text, input_prompt, source_lang_state, target_lang_state]
|
91 |
+
)
|
92 |
+
|
93 |
+
gr.Examples(
|
94 |
+
examples=[
|
95 |
+
["Hello, how are you?", "English", "Welsh"],
|
96 |
+
["Bore da!", "Welsh", "English"],
|
97 |
+
],
|
98 |
+
inputs=[input_text, source_lang, target_lang]
|
99 |
+
)
|
100 |
|
101 |
# Launch the app
|
102 |
iface.launch()
|