eyepyon commited on
Commit
a5a4711
·
1 Parent(s): 749df9e

新バージョンのテストv5

Browse files
Files changed (2) hide show
  1. app.py +16 -16
  2. requirements.txt +1 -1
app.py CHANGED
@@ -42,9 +42,12 @@ def load_model():
42
  return f"❌ モデルのロード中にエラーが発生しました: {str(e)}"
43
 
44
  # 生成関数
45
- def generate(prompt, max_length=50):
46
  global model, tokenizer, load_state
47
 
 
 
 
48
  # モデルがまだロードされていない場合
49
  if model is None or tokenizer is None:
50
  elapsed_time = time.time() - load_start_time if load_start_time else 0
@@ -52,13 +55,13 @@ def generate(prompt, max_length=50):
52
 
53
  try:
54
  # 入力のエンコード
55
- inputs = tokenizer(prompt, return_tensors="pt")
56
 
57
  # 生成
58
  with torch.no_grad():
59
  outputs = model.generate(
60
  inputs.input_ids,
61
- max_length=max_length,
62
  do_sample=True,
63
  temperature=0.7,
64
  top_p=0.95,
@@ -106,27 +109,24 @@ with gr.Blocks(title=f"{MODEL_TITLE} テキスト生成") as demo:
106
  # 出力テキストエリア
107
  output_text = gr.Textbox(label="生成されたテキスト", lines=10)
108
 
109
- # 例の表示
 
 
 
 
 
110
  gr.Examples(
111
  examples=[
112
  ["こんにちは、私の名前は"],
113
  ["人工知能の将来について"],
114
  ["今日の天気は晴れです。明日は"]
115
  ],
116
- inputs=input_text
 
 
 
117
  )
118
 
119
- # イベントハンドラー
120
- load_button.click(load_model, inputs=None, outputs=model_status)
121
-
122
- def generate_text(text, length):
123
- if not text.strip():
124
- return "テキストを入力してください。"
125
- return generate(text, int(length))
126
-
127
- generate_button.click(generate_text, inputs=[input_text, max_length], outputs=output_text)
128
- input_text.submit(generate_text, inputs=[input_text, max_length], outputs=output_text)
129
-
130
  # アプリケーション起動
131
  if __name__ == "__main__":
132
  demo.launch()
 
42
  return f"❌ モデルのロード中にエラーが発生しました: {str(e)}"
43
 
44
  # 生成関数
45
+ def generate_text(text, length=50):
46
  global model, tokenizer, load_state
47
 
48
+ if not text.strip():
49
+ return "テキストを入力してください。"
50
+
51
  # モデルがまだロードされていない場合
52
  if model is None or tokenizer is None:
53
  elapsed_time = time.time() - load_start_time if load_start_time else 0
 
55
 
56
  try:
57
  # 入力のエンコード
58
+ inputs = tokenizer(text, return_tensors="pt")
59
 
60
  # 生成
61
  with torch.no_grad():
62
  outputs = model.generate(
63
  inputs.input_ids,
64
+ max_length=int(length),
65
  do_sample=True,
66
  temperature=0.7,
67
  top_p=0.95,
 
109
  # 出力テキストエリア
110
  output_text = gr.Textbox(label="生成されたテキスト", lines=10)
111
 
112
+ # イベントハンドラー
113
+ load_button.click(load_model, inputs=None, outputs=model_status)
114
+ generate_button.click(generate_text, inputs=[input_text, max_length], outputs=output_text)
115
+ input_text.submit(generate_text, inputs=[input_text, max_length], outputs=output_text)
116
+
117
+ # 例の設定(キャッシュなしで追加)
118
  gr.Examples(
119
  examples=[
120
  ["こんにちは、私の名前は"],
121
  ["人工知能の将来について"],
122
  ["今日の天気は晴れです。明日は"]
123
  ],
124
+ inputs=input_text,
125
+ outputs=output_text,
126
+ fn=generate_text, # 関数を提供
127
+ cache_examples=False # キャッシュを無効化
128
  )
129
 
 
 
 
 
 
 
 
 
 
 
 
130
  # アプリケーション起動
131
  if __name__ == "__main__":
132
  demo.launch()
requirements.txt CHANGED
@@ -1,3 +1,3 @@
1
  gradio==4.44.1
2
  torch>=2.0.0
3
- transformers>=4.35
 
1
  gradio==4.44.1
2
  torch>=2.0.0
3
+ transformers>=4.35.0