Guchyos commited on
Commit
bb987ab
·
verified ·
1 Parent(s): e22169e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -9
app.py CHANGED
@@ -1,6 +1,6 @@
1
  import os
2
  import gradio as gr
3
- from transformers import AutoModelForCausalLM, AutoTokenizer
4
  import torch
5
 
6
  # グローバル変数の初期化
@@ -10,30 +10,42 @@ tokenizer = None
10
  # Hugging Face トークンの取得
11
  HUGGING_FACE_TOKEN = os.getenv('HUGGINGFACE_TOKEN')
12
  if not HUGGING_FACE_TOKEN:
13
- raise ValueError("環境変数 HUGGINGFACE_TOKEN が設定されていません")
14
 
15
  def load_model():
16
  global model, tokenizer
17
  if model is None:
18
  model_name = "Guchyos/gemma-2b-elyza-task"
19
  try:
20
- # トークンを使用してモデルとトークナイザーを読み込み
 
 
 
 
 
 
 
21
  tokenizer = AutoTokenizer.from_pretrained(
22
  model_name,
23
- token=HUGGING_FACE_TOKEN
 
24
  )
25
 
26
- # 量子化を無効にし、float32で読み込む設定を追加
27
  model = AutoModelForCausalLM.from_pretrained(
28
  model_name,
 
29
  torch_dtype=torch.float32,
30
  device_map="cpu",
31
  token=HUGGING_FACE_TOKEN,
32
- load_in_8bit=False, # 8bit量子化を無効化
33
- load_in_4bit=False, # 4bit量子化を無効化
34
- quantization_config=None # 量子化設定を無効化
35
  )
36
 
 
 
 
37
  except Exception as e:
38
  raise Exception(f"モデルの読み込みに失敗しました: {str(e)}")
39
  return model, tokenizer
@@ -48,7 +60,9 @@ def predict(message, history):
48
  outputs = model.generate(
49
  **inputs,
50
  max_new_tokens=128,
51
- do_sample=False
 
 
52
  )
53
 
54
  response = tokenizer.decode(outputs[0], skip_special_tokens=True)
 
1
  import os
2
  import gradio as gr
3
+ from transformers import AutoModelForCausalLM, AutoTokenizer, AutoConfig
4
  import torch
5
 
6
  # グローバル変数の初期化
 
10
  # Hugging Face トークンの取得
11
  HUGGING_FACE_TOKEN = os.getenv('HUGGINGFACE_TOKEN')
12
  if not HUGGING_FACE_TOKEN:
13
+ raise ValueError("環境変数 HUGGING_FACE_TOKEN が設定されていません")
14
 
15
  def load_model():
16
  global model, tokenizer
17
  if model is None:
18
  model_name = "Guchyos/gemma-2b-elyza-task"
19
  try:
20
+ # まずモデルの設定を読み込む
21
+ config = AutoConfig.from_pretrained(
22
+ model_name,
23
+ token=HUGGING_FACE_TOKEN,
24
+ trust_remote_code=True
25
+ )
26
+
27
+ # トークナイザーの読み込み
28
  tokenizer = AutoTokenizer.from_pretrained(
29
  model_name,
30
+ token=HUGGING_FACE_TOKEN,
31
+ trust_remote_code=True
32
  )
33
 
34
+ # モデルの読み込み
35
  model = AutoModelForCausalLM.from_pretrained(
36
  model_name,
37
+ config=config,
38
  torch_dtype=torch.float32,
39
  device_map="cpu",
40
  token=HUGGING_FACE_TOKEN,
41
+ load_in_8bit=False,
42
+ load_in_4bit=False,
43
+ trust_remote_code=True
44
  )
45
 
46
+ # モデルを評価モードに設定
47
+ model.eval()
48
+
49
  except Exception as e:
50
  raise Exception(f"モデルの読み込みに失敗しました: {str(e)}")
51
  return model, tokenizer
 
60
  outputs = model.generate(
61
  **inputs,
62
  max_new_tokens=128,
63
+ do_sample=False,
64
+ pad_token_id=tokenizer.pad_token_id,
65
+ eos_token_id=tokenizer.eos_token_id
66
  )
67
 
68
  response = tokenizer.decode(outputs[0], skip_special_tokens=True)