Jeppcode commited on
Commit
e776b8e
·
verified ·
1 Parent(s): 2a38527

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -10
app.py CHANGED
@@ -13,26 +13,26 @@ tokenizer = AutoTokenizer.from_pretrained(
13
  subfolder=SUBFOLDER,
14
  )
15
 
16
- # Modell – fp16 + snålare CPU-load
17
  model = AutoModelForCausalLM.from_pretrained(
18
  MODEL_ID,
19
  subfolder=SUBFOLDER,
20
- torch_dtype=torch.float16,
21
  low_cpu_mem_usage=True,
22
- device_map="cpu", # var explicit allt på CPU
23
  )
24
  model.eval()
25
 
26
 
27
  def build_prompt(message, history):
28
  """
29
- history (Gradio 6) är en lista av dicts:
30
  [
31
  {"role": "user", "content": [...]},
32
  {"role": "assistant", "content": [...]},
33
  ...
34
  ]
35
- Vi mappar det till samma roll/text-format som vid träning.
36
  """
37
  messages = []
38
 
@@ -47,7 +47,6 @@ def build_prompt(message, history):
47
  if isinstance(block, dict) and block.get("type") == "text":
48
  texts.append(block.get("text", ""))
49
  else:
50
- # fallback om Gradio skickar annat format
51
  texts.append(str(block))
52
  text = "\n".join(t for t in texts if t)
53
  else:
@@ -56,7 +55,7 @@ def build_prompt(message, history):
56
  if text:
57
  messages.append({"role": role, "content": text})
58
 
59
- # Lägg till nuvarande användarmeddelande
60
  messages.append({"role": "user", "content": message})
61
 
62
  prompt = tokenizer.apply_chat_template(
@@ -75,8 +74,8 @@ def chat_fn(message, history):
75
  with torch.no_grad():
76
  outputs = model.generate(
77
  **inputs,
78
- max_new_tokens=64, # kortare svar = mycket snabbare
79
- do_sample=False, # deterministiskt, billigare
80
  temperature=None,
81
  top_p=None,
82
  pad_token_id=tokenizer.eos_token_id,
@@ -93,7 +92,6 @@ def chat_fn(message, history):
93
 
94
  demo = gr.ChatInterface(
95
  fn=chat_fn,
96
- type="messages", # säg tydligt att vi använder messages-formatet
97
  title="Lab 2 – Fine-tuned merged model (fp16)",
98
  description=(
99
  "Chat with our fine-tuned Llama-based model, merged to fp16 and "
 
13
  subfolder=SUBFOLDER,
14
  )
15
 
16
+ # Modell – fp16 och snålare CPU
17
  model = AutoModelForCausalLM.from_pretrained(
18
  MODEL_ID,
19
  subfolder=SUBFOLDER,
20
+ dtype=torch.float16, # samma som torch_dtype men utan varningen
21
  low_cpu_mem_usage=True,
22
+ device_map="cpu", # var explicit, allt på CPU
23
  )
24
  model.eval()
25
 
26
 
27
  def build_prompt(message, history):
28
  """
29
+ I Gradio 6 är history en lista av dicts:
30
  [
31
  {"role": "user", "content": [...]},
32
  {"role": "assistant", "content": [...]},
33
  ...
34
  ]
35
+ Vi plockar ut texten och mappar till {role, content}.
36
  """
37
  messages = []
38
 
 
47
  if isinstance(block, dict) and block.get("type") == "text":
48
  texts.append(block.get("text", ""))
49
  else:
 
50
  texts.append(str(block))
51
  text = "\n".join(t for t in texts if t)
52
  else:
 
55
  if text:
56
  messages.append({"role": role, "content": text})
57
 
58
+ # nuvarande användarmeddelande
59
  messages.append({"role": "user", "content": message})
60
 
61
  prompt = tokenizer.apply_chat_template(
 
74
  with torch.no_grad():
75
  outputs = model.generate(
76
  **inputs,
77
+ max_new_tokens=64, # kortare svar för snabbare CPU
78
+ do_sample=False, # deterministiskt
79
  temperature=None,
80
  top_p=None,
81
  pad_token_id=tokenizer.eos_token_id,
 
92
 
93
  demo = gr.ChatInterface(
94
  fn=chat_fn,
 
95
  title="Lab 2 – Fine-tuned merged model (fp16)",
96
  description=(
97
  "Chat with our fine-tuned Llama-based model, merged to fp16 and "