Spaces:
Build error
Build error
| import gradio as gr | |
| from transformers import MarianMTModel, MarianTokenizer | |
| # Specify the model name from the Hugging Face Hub, for example, an English to French model by the University of Helsinki | |
| model_name = "Helsinki-NLP/opus-mt-en-fr" | |
| # Load the tokenizer and model | |
| tokenizer = MarianTokenizer.from_pretrained(model_name) | |
| model = MarianMTModel.from_pretrained(model_name) | |
| # Function to handle translation | |
| def translate_text(text, target_language): | |
| # Adjust the model_name based on the target language | |
| # Note: You'd need to find the exact model names for each language pair you want to support | |
| model_name_map = { | |
| "French": "Helsinki-NLP/opus-mt-en-fr", | |
| "German": "Helsinki-NLP/opus-mt-en-de", | |
| "Spanish": "Helsinki-NLP/opus-mt-en-es", | |
| } | |
| selected_model_name = model_name_map.get(target_language, "Helsinki-NLP/opus-mt-en-fr") | |
| # Load the selected model and tokenizer | |
| tokenizer = MarianTokenizer.from_pretrained(selected_model_name) | |
| model = MarianMTModel.from_pretrained(selected_model_name) | |
| # Prepare the text for translation | |
| encoded_text = tokenizer.prepare_seq2seq_batch([text], return_tensors="pt") | |
| # Perform the translation | |
| translated = model.generate(**encoded_text) | |
| # Decode the translated text | |
| translated_text = tokenizer.decode(translated[0], skip_special_tokens=True) | |
| return translated_text | |
| # Define the interface | |
| iface = gr.Interface( | |
| fn=translate_text, | |
| inputs=[gr.Textbox(lines=2, placeholder="Enter text to translate..."), gr.Dropdown(["French", "German", "Spanish"], label="Select Language")], | |
| outputs=[gr.Textbox()], | |
| title="Text Translator with Helsinki NLP Models", | |
| description="Select a language to translate English text into using University of Helsinki models." | |
| ) | |
| # Launch the app | |
| iface.launch() |