File size: 1,947 Bytes
9c9173d 101bdf1 9c9173d 101bdf1 9c9173d 101bdf1 9c9173d 101bdf1 9c9173d 101bdf1 9c9173d 101bdf1 9c9173d 101bdf1 9c9173d 101bdf1 9c9173d 101bdf1 d3643ed ace0ec9 101bdf1 9c9173d 101bdf1 9c9173d 101bdf1 9c9173d 101bdf1 9c9173d 101bdf1 9c9173d |
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 |
import gradio as gr
import requests
import json
import os
LANGUAGES = ['Akan', 'Arabic', ' Assamese', 'Bambara', 'Bengali', 'Catalan', 'English', 'Spanish', ' Basque', 'French', ' Gujarati', 'Hindi',
'Indonesian', 'Igbo', 'Kikuyu', 'Kannada', 'Ganda', 'Lingala', 'Malayalam', 'Marathi', 'Nepali', 'Chichewa', 'Oriya', 'Panjabi', 'Portuguese',
'Kirundi', 'Kinyarwanda', 'Shona', 'Sotho', 'Swahili', 'Tamil', 'Telugu', 'Tswana', 'Tsonga', 'Twi', 'Urdu', 'Viêt Namese', 'Wolof', 'Xhosa',
'Yoruba', 'Chinese', 'Zulu']
API_URL = "https://api-inference.huggingface.co/models/bigscience/bloom"
def translate(input, output, text):
"""Translate text from input language to output language"""
instruction = f"""Translation in {input.lower()}: {text}\nTranslation in {output.lower()}: """
json_ = {
"inputs": instruction,
"parameters": {
"return_full_text": True,
"do_sample": False,
},
"options": {
"use_cache": True,
"wait_for_model": True,
},
}
response = requests.request("POST", API_URL, json=json_)
output = response.json()[0]['generated_text']
return output.replace(instruction, '', 1)[1:]
demo = gr.Blocks()
with demo:
gr.Markdown("<h1><center>Translation with Bloom</center></h1>")
gr.Markdown("<center>If you know how to do for that the model translate the full sentence and not with intenpestive words, make a pr!</center>")
with gr.Row():
input_lang = gr.Dropdown(LANGUAGES, value='English', label='Select input language')
output_lang = gr.Dropdown(LANGUAGES, value='French', label='Select output language')
input_text = gr.Textbox(label="Input", lines=6)
output_text = gr.Textbox(lines=6, label="Output")
buton = gr.Button("translate")
buton.click(translate, inputs=[input_lang, output_lang, input_text], outputs=output_text)
demo.launch(enable_queue=True, debug=True)
|