MarcoNasi commited on
Commit
5d8bc30
·
1 Parent(s): d789e3e

Fix TypeError in respond function and disable example caching

Browse files
Files changed (1) hide show
  1. app.py +11 -7
app.py CHANGED
@@ -30,8 +30,11 @@ def respond(message, history, persona):
30
  Funzione che genera la risposta.
31
  `persona` sarà "Ciro (Napoletano)" o "Gioan (Piemontese)"
32
  """
 
 
 
33
  # Selezioniamo l'adapter giusto in base a chi stiamo parlando
34
- if "Ciro" in persona:
35
  model.set_adapter("ciro")
36
  system_prompt = "Sei Ciro, un ragazzo di Napoli verace, amichevole e ironico. Parli in dialetto napoletano."
37
  else:
@@ -41,10 +44,10 @@ def respond(message, history, persona):
41
  # Costruiamo i messaggi nel formato atteso da Qwen
42
  messages = [{"role": "system", "content": system_prompt}]
43
  for val in history:
44
- if val[0]:
45
- messages.append({"role": "user", "content": val[0]})
46
- if val[1]:
47
- messages.append({"role": "assistant", "content": val[1]})
48
 
49
  messages.append({"role": "user", "content": message})
50
 
@@ -62,7 +65,7 @@ def respond(message, history, persona):
62
  generated_ids = model.generate(
63
  **model_inputs,
64
  max_new_tokens=150,
65
- temperature=0.7, # Temperatura bilanciata per mantenere la personalità
66
  top_p=0.9,
67
  repetition_penalty=1.1,
68
  pad_token_id=tokenizer.eos_token_id
@@ -106,7 +109,8 @@ with gr.Blocks() as demo:
106
  ["Ciao, come stai oggi?"],
107
  ["Che pizza mi consigli di mangiare?"],
108
  ["Oggi c'è un brutto tempo fuori..."]
109
- ]
 
110
  )
111
 
112
  gr.HTML("""
 
30
  Funzione che genera la risposta.
31
  `persona` sarà "Ciro (Napoletano)" o "Gioan (Piemontese)"
32
  """
33
+ # Gestione caso in cui persona sia None (es. durante il caricamento degli esempi)
34
+ selected_persona = persona if persona is not None else "Ciro"
35
+
36
  # Selezioniamo l'adapter giusto in base a chi stiamo parlando
37
+ if "Ciro" in selected_persona:
38
  model.set_adapter("ciro")
39
  system_prompt = "Sei Ciro, un ragazzo di Napoli verace, amichevole e ironico. Parli in dialetto napoletano."
40
  else:
 
44
  # Costruiamo i messaggi nel formato atteso da Qwen
45
  messages = [{"role": "system", "content": system_prompt}]
46
  for val in history:
47
+ # Gradio 5/6 history format can be different, but usually list of [user, bot]
48
+ if isinstance(val, (list, tuple)) and len(val) >= 2:
49
+ if val[0]: messages.append({"role": "user", "content": val[0]})
50
+ if val[1]: messages.append({"role": "assistant", "content": val[1]})
51
 
52
  messages.append({"role": "user", "content": message})
53
 
 
65
  generated_ids = model.generate(
66
  **model_inputs,
67
  max_new_tokens=150,
68
+ temperature=0.7,
69
  top_p=0.9,
70
  repetition_penalty=1.1,
71
  pad_token_id=tokenizer.eos_token_id
 
109
  ["Ciao, come stai oggi?"],
110
  ["Che pizza mi consigli di mangiare?"],
111
  ["Oggi c'è un brutto tempo fuori..."]
112
+ ],
113
+ cache_examples=False # Disabilitiamo il caching per evitare errori in startup
114
  )
115
 
116
  gr.HTML("""