sappho192's picture
Update app.py
85d9872
Raw
History Blame
1.83 kB
import gradio as gr
from transformers import(
EncoderDecoderModel,
PreTrainedTokenizerFast,
BertJapaneseTokenizer,
)
encoder_model_name = "cl-tohoku/bert-base-japanese-v2"
decoder_model_name = "skt/kogpt2-base-v2"
src_tokenizer = BertJapaneseTokenizer.from_pretrained(encoder_model_name)
trg_tokenizer = PreTrainedTokenizerFast.from_pretrained(decoder_model_name)
model = EncoderDecoderModel.from_pretrained("sappho192/ffxiv-ja-ko-translator")
def translate(text_src):
embeddings = src_tokenizer(text_src, return_attention_mask=False, return_token_type_ids=False, return_tensors='pt')
embeddings = {k: v for k, v in embeddings.items()}
output = model.generate(**embeddings, max_length=300)[0, 1:-1]
text_trg = trg_tokenizer.decode(output.cpu())
return text_trg
def endpoint(sentence):
return translate(sentence)
# demo = gr.Interface(fn=endpoint, inputs="text", outputs="text")
with gr.Blocks() as demo:
input = gr.Textbox(label="Sentence")
output = gr.Textbox(label="Result")
btn = gr.Button(value="Submit")
btn.click(endpoint, inputs=[input], outputs=[output])
gr.Markdown("## Examples")
gr.Markdown(
"""
For now, the model can translate the words included in Auto-Translate dictionary.
현재 버전의 번역기는 상용구에 포함된 단어나 표현이 들어간 문장을 대부분 번역할 수 있습니다.
""")
gr.Examples(
[["絶アルテマウェポン破壊作戦をクリアし事ありますか?"],
["ギルガメッシュ討伐戦に行ってきます。一緒に行きましょうか?"],
["美容師の呼び鈴を使って髪方を変えますよ。"]],
[input],
output,
endpoint,
cache_examples=False
)
if __name__ == "__main__":
demo.launch()