|
import gradio as gr |
|
import requests |
|
import os |
|
import json |
|
|
|
API_URL = "https://api-inference.huggingface.co/models/bigscience/bloom" |
|
|
|
def translate(user, seed = 42): |
|
prompt = f"Instruction: Details: {os.environ['secret_thing']}. Given the following English input sentence translate it into a Spanish sentence. \ninput: {user}" |
|
data = { |
|
"inputs": prompt, |
|
"parameters": { |
|
"top_p": 0.9, |
|
"temperature": 0.1, |
|
"max_new_tokens": 250, |
|
"return_full_text": False, |
|
"do_sample": False, |
|
"seed": seed, |
|
"early_stopping": False, |
|
"length_penalty": 0.0, |
|
"eos_token_id": None, |
|
}, |
|
"options": { |
|
"use_cache": False, |
|
"wait_for_model": True, |
|
}, |
|
} |
|
response = requests.request("POST", API_URL, json=data) |
|
output = json.loads(response.content.decode("utf-8")) |
|
output_tmp = output[0]['generated_text'] |
|
answer = output_tmp.splitlines() |
|
try: |
|
return list(filter(lambda x: "output" in x, answer))[0] |
|
except IndexError: |
|
return ["no entiendo"] |
|
|
|
demo = gr.Blocks() |
|
|
|
with demo: |
|
input_prompt = gr.Textbox(label="Enter the sentence : ", |
|
value=f"", |
|
lines=6) |
|
|
|
generated_txt = gr.Textbox(lines=3) |
|
|
|
b1 = gr.Button("translate") |
|
b1.click(translate,inputs=[input_prompt], outputs=generated_txt) |
|
|
|
demo.launch(enable_queue=True, debug=False) |
|
|