Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,32 +1,33 @@
|
|
1 |
-
|
2 |
-
import torch
|
3 |
-
from transformers import pipeline, AutoTokenizer
|
4 |
-
import gradio as gr
|
5 |
from datasets import load_dataset
|
6 |
|
7 |
# PersonaHubデータセットの読み込み
|
8 |
dataset = load_dataset("tencent-ailab/persona-hub")
|
9 |
persona = dataset['train'][0] # 例として最初のペルソナを選択
|
10 |
persona_prompt = f"あなたは{persona['profession']}です。次の問題を作成してください:"
|
|
|
|
|
|
|
11 |
# 日本語モデルを指定
|
12 |
model_name = "rinna/japanese-gpt2-medium"
|
|
|
13 |
# トークナイザーとパイプラインの設定
|
14 |
tokenizer = AutoTokenizer.from_pretrained(model_name, legacy=False)
|
15 |
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
|
16 |
generator = pipeline('text-generation', model=model_name, tokenizer=tokenizer, device=0 if torch.cuda.is_available() else -1)
|
17 |
-
|
18 |
-
@GPU(duration=120)
|
19 |
|
20 |
def generate_text(prompt, max_length):
|
|
|
21 |
full_prompt = f"{persona_prompt} {prompt}"
|
22 |
-
result = generator(
|
23 |
return result[0]['generated_text']
|
24 |
|
25 |
iface = gr.Interface(
|
26 |
fn=generate_text,
|
27 |
inputs=[
|
28 |
gr.Textbox(label="プロンプト", placeholder="ここに日本語のプロンプトを入力してください"),
|
29 |
-
gr.Slider(minimum=10, maximum=
|
30 |
],
|
31 |
outputs=gr.Textbox(label="生成されたテキスト")
|
32 |
)
|
|
|
1 |
+
pip install transformers datasets gradio torch
|
|
|
|
|
|
|
2 |
from datasets import load_dataset
|
3 |
|
4 |
# PersonaHubデータセットの読み込み
|
5 |
dataset = load_dataset("tencent-ailab/persona-hub")
|
6 |
persona = dataset['train'][0] # 例として最初のペルソナを選択
|
7 |
persona_prompt = f"あなたは{persona['profession']}です。次の問題を作成してください:"
|
8 |
+
from transformers import pipeline, AutoTokenizer
|
9 |
+
import torch
|
10 |
+
|
11 |
# 日本語モデルを指定
|
12 |
model_name = "rinna/japanese-gpt2-medium"
|
13 |
+
|
14 |
# トークナイザーとパイプラインの設定
|
15 |
tokenizer = AutoTokenizer.from_pretrained(model_name, legacy=False)
|
16 |
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
|
17 |
generator = pipeline('text-generation', model=model_name, tokenizer=tokenizer, device=0 if torch.cuda.is_available() else -1)
|
18 |
+
import gradio as gr
|
|
|
19 |
|
20 |
def generate_text(prompt, max_length):
|
21 |
+
# ペルソナのプロンプトを追加
|
22 |
full_prompt = f"{persona_prompt} {prompt}"
|
23 |
+
result = generator(full_prompt, max_length=max_length, num_return_sequences=1)
|
24 |
return result[0]['generated_text']
|
25 |
|
26 |
iface = gr.Interface(
|
27 |
fn=generate_text,
|
28 |
inputs=[
|
29 |
gr.Textbox(label="プロンプト", placeholder="ここに日本語のプロンプトを入力してください"),
|
30 |
+
gr.Slider(minimum=10, maximum=200, value=50, step=1, label="最大長")
|
31 |
],
|
32 |
outputs=gr.Textbox(label="生成されたテキスト")
|
33 |
)
|