Sakalti commited on
Commit
a6ce5f8
·
verified ·
1 Parent(s): 423635b

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -0
app.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import AutoTokenizer, AutoModelForCausalLM
3
+
4
+ # トークナイザーとモデルの読み込み
5
+ tokenizer = AutoTokenizer.from_pretrained("Sakalti/ultiima-78B")
6
+ model = AutoModelForCausalLM.from_pretrained("Sakalti/ultiima-78B")
7
+
8
+ # テキスト生成関数
9
+ def generate_text(prompt, max_length=50):
10
+ inputs = tokenizer(prompt, return_tensors="pt")
11
+ outputs = model.generate(inputs.input_ids, max_length=max_length, num_return_sequences=1)
12
+ generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
13
+ return generated_text
14
+
15
+ # エンコード関数
16
+ def encode_text(text):
17
+ inputs = tokenizer(text, return_tensors="pt")
18
+ return inputs['input_ids'].squeeze().tolist()
19
+
20
+ # デコード関数
21
+ def decode_tokens(tokens):
22
+ text = tokenizer.decode(tokens)
23
+ return text
24
+
25
+ # Gradioインターフェースの定義
26
+ iface = gr.Interface(
27
+ fn=[generate_text, encode_text, decode_tokens],
28
+ inputs=[
29
+ gr.Textbox(label="入力テキスト"),
30
+ gr.Slider(minimum=50, maximum=200, step=1, default=100, label="生成テキストの長さ"),
31
+ gr.Textbox(label="エンコード用テキスト"),
32
+ gr.Textbox(label="デコード用トークン列 (カンマ区切り)")
33
+ ],
34
+ outputs=[
35
+ gr.Textbox(label="生成されたテキスト"),
36
+ gr.JSON(label="エンコードされたトークン"),
37
+ gr.Textbox(label="デコードされたテキスト")
38
+ ],
39
+ title="テキスト生成とトークナイザーインターフェース",
40
+ description="入力テキストから生成されたテキストを表示し、テキストをエンコード・デコードします。"
41
+ )
42
+
43
+ # インターフェースの起動
44
+ iface.launch()