tamatwi commited on
Commit
f620f3d
·
verified ·
1 Parent(s): a13d995

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -8
app.py CHANGED
@@ -1,32 +1,33 @@
1
- from spaces import GPU
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(prompt, max_length=max_length, num_return_sequences=1)
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=20000, value=50, step=1, label="最大長")
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
  )