File size: 1,773 Bytes
9c9173d
 
101bdf1
 
9c9173d
 
101bdf1
 
 
 
9c9173d
2b5061b
9c9173d
 
521cd8e
101bdf1
9c9173d
c2bddc7
9c9173d
101bdf1
 
 
 
 
a335cd1
101bdf1
 
 
 
 
 
 
a335cd1
9c9173d
a335cd1
9c9173d
101bdf1
9c9173d
101bdf1
d3643ed
721f1f6
101bdf1
9c9173d
101bdf1
521cd8e
e92eb9a
101bdf1
9c9173d
101bdf1
521cd8e
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
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/mt0-xxl"


def translate(output, text):
    """Translate text from input language to output language"""

    instruction =  f"""Translatate to {output}: {text}\nTranslation: """ 

    json_ = {
        "inputs": instruction,
        "parameters": {
            "return_full_text": True,
            "do_sample": False,
            "max_new_tokens": 250,
        }, 
        "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)

demo = gr.Blocks()

with demo:
  gr.Markdown("<h1><center>Translation with Bloom</center></h1>")
  gr.Markdown("<center>Translation in many language with mt0-xxl</center>")
  
  with gr.Row():
    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=[output_lang, input_text], outputs=output_text) 
    
demo.launch(enable_queue=True, debug=True)