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)