File size: 1,305 Bytes
a6ce5f8 13d5ede a6ce5f8 13d5ede f885ee2 a6ce5f8 f885ee2 a6ce5f8 f885ee2 a6ce5f8 13d5ede a6ce5f8 |
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 |
import gradio as gr
from transformers import AutoTokenizer
# トークナイザーの読み込み
tokenizer = AutoTokenizer.from_pretrained("rinna/japanese-gpt2-medium")
# エンコードとデコードを行う関数
def process_text(text, tokens):
if text:
inputs = tokenizer(text, return_tensors="pt")
encoded_tokens = inputs['input_ids'].squeeze().tolist()
decoded_text = tokenizer.decode(encoded_tokens)
return encoded_tokens, decoded_text
elif tokens:
# トークン列をリストに変換
tokens_list = [int(token) for token in tokens.split(',')]
decoded_text = tokenizer.decode(tokens_list)
return tokens_list, decoded_text
return [], ""
# Gradioインターフェースの定義
iface = gr.Interface(
fn=process_text,
inputs=[
gr.Textbox(label="エンコード用テキスト"),
gr.Textbox(label="デコード用トークン列 (カンマ区切り)")
],
outputs=[
gr.JSON(label="エンコードされたトークン"),
gr.Textbox(label="デコードされたテキスト")
],
title="トークナイザーインターフェース",
description="テキストをエンコード・デコードします。"
)
# インターフェースの起動
iface.launch() |