Spaces:
Runtime error
Runtime error
File size: 2,598 Bytes
1398925 c7717e6 1398925 6908aad bf83ac1 d86acb9 bf83ac1 d86acb9 bf83ac1 3bc002c bf83ac1 6908aad c7717e6 6908aad d86acb9 07a4801 13081ab 6908aad c7717e6 6908aad c7717e6 6908aad af1aba9 07a4801 59e6f0a 6908aad 3bc002c d86acb9 c7717e6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import gradio as gr
from transformers import MarianMTModel, MarianTokenizer, pipeline
def translate(text, target_language):
language_codes = {
"Spanish": "es",
"French (European)": "fr",
"French (Canadian)": "fr",
"Italian": "it",
"Ukrainian": "uk",
"Portuguese (Brazilian)": "pt_BR",
"Portuguese (European)": "pt",
"Russian": "ru",
"Chinese": "zh",
"Dutch": "nl",
"German": "de",
"Arabic": "ar",
"Hebrew": "he",
"Greek": "el"
}
target_language_code = language_codes[target_language]
model_name = f'helsinki-nlp/opus-mt-en-{target_language_code}'
tokenizer = MarianTokenizer.from_pretrained(model_name)
model = MarianMTModel.from_pretrained(model_name)
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs)
translation = tokenizer.decode(outputs[0], skip_special_tokens=True)
return translation
def classify_text(text, labels):
classifier = pipeline("zero-shot-classification")
result = classifier(text, labels.split(','))
scores = result["scores"]
predictions = result["labels"]
sorted_predictions = [pred for _, pred in sorted(zip(scores, predictions), reverse=True)]
return sorted_predictions
def generate_text(prompt, max_length):
text_gen = pipeline("text-generation", model="gpt2")
generated_text = text_gen(prompt, max_length=max_length, do_sample=True)[0]["generated_text"]
return generated_text
language_options = [
"Spanish", "French (European)", "French (Canadian)", "Italian", "Ukrainian",
"Portuguese (Brazilian)", "Portuguese (European)", "Russian", "Chinese",
"Dutch", "German", "Arabic", "Hebrew", "Greek"
]
iface = gr.Interface(
[translate, classify_text, generate_text],
inputs=[
[
gr.inputs.Textbox(lines=5, label="Enter text to translate:"),
gr.inputs.Dropdown(choices=language_options, label="Target Language"),
],
[
gr.inputs.Textbox(lines=5, label="Enter text to classify:"),
gr.inputs.Textbox(lines=2, label="Enter comma-separated labels:"),
],
[
gr.inputs.Textbox(lines=5, label="Enter a prompt for text generation:"),
gr.inputs.Slider(minimum=10, maximum=150, step=1, default=50, label="Max Length"),
],
],
outputs=[
gr.outputs.Textbox(label="Translated Text"),
gr.outputs.Textbox(label="Classification"),
gr.outputs.Textbox(label="Generated Text"),
],
)
iface.launch()
|