AshenClock commited on
Commit
9ead203
·
verified ·
1 Parent(s): cfc4286

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -8
app.py CHANGED
@@ -48,7 +48,7 @@ except Exception as e:
48
 
49
  # Inizializza il client di Hugging Face
50
  try:
51
- client = InferenceClient(HF_MODEL, token=HF_API_KEY)
52
  logger.info("InferenceClient inizializzato correttamente.")
53
  except Exception as e:
54
  logger.error(f"Errore nell'inizializzazione di InferenceClient: {e}")
@@ -234,6 +234,8 @@ async def call_hf_model(prompt: str, temperature: float = 0.5, max_tokens: int =
234
  stream=stream
235
  )
236
 
 
 
237
  if stream:
238
  # Gestisci lo stream
239
  generated_text = ""
@@ -244,15 +246,22 @@ async def call_hf_model(prompt: str, temperature: float = 0.5, max_tokens: int =
244
  return generated_text.strip()
245
  else:
246
  # Risposta non in streaming
247
- if isinstance(response, list) and len(response) > 0 and "generated_text" in response[0]:
248
- raw = response[0]["generated_text"]
249
- elif "generated_text" in response:
250
- raw = response["generated_text"]
 
 
 
 
 
 
 
251
  else:
252
- raise ValueError("Nessun campo 'generated_text' nella risposta.")
253
 
254
  # Forza la risposta su una singola linea se multilinea
255
- single_line = " ".join(raw.splitlines())
256
  logger.debug(f"Risposta HF single-line: {single_line}")
257
  return single_line.strip()
258
  except Exception as e:
@@ -413,12 +422,14 @@ async def generate_response(req: QueryRequest):
413
  "sparql_results": row_list,
414
  "explanation": explanation
415
  }
 
416
  @app.post("/prova")
417
  async def prova(req: QueryRequest):
418
  return {
419
  "type": "NATURAL",
420
- "response":"Questa è una prova di richiesta"
421
  }
 
422
  @app.get("/")
423
  def home():
424
  return {"message": "Assistente Museale con supporto SPARQL."}
 
48
 
49
  # Inizializza il client di Hugging Face
50
  try:
51
+ client = InferenceClient(model=HF_MODEL, token=HF_API_KEY)
52
  logger.info("InferenceClient inizializzato correttamente.")
53
  except Exception as e:
54
  logger.error(f"Errore nell'inizializzazione di InferenceClient: {e}")
 
234
  stream=stream
235
  )
236
 
237
+ logger.debug(f"Risposta completa dal modello: {response}")
238
+
239
  if stream:
240
  # Gestisci lo stream
241
  generated_text = ""
 
246
  return generated_text.strip()
247
  else:
248
  # Risposta non in streaming
249
+ # Logga la risposta completa per capire la struttura
250
+ logger.debug(f"Risposta completa: {response}")
251
+
252
+ # Adatta la logica di estrazione del testo generato
253
+ if isinstance(response, dict):
254
+ if 'choices' in response and len(response['choices']) > 0:
255
+ generated_text = response['choices'][0].get('message', {}).get('content', '')
256
+ else:
257
+ raise ValueError("Risposta non contiene 'choices' o 'message'.")
258
+ elif isinstance(response, list) and len(response) > 0:
259
+ generated_text = response[0].get('message', {}).get('content', '')
260
  else:
261
+ raise ValueError("Struttura della risposta non riconosciuta.")
262
 
263
  # Forza la risposta su una singola linea se multilinea
264
+ single_line = " ".join(generated_text.splitlines())
265
  logger.debug(f"Risposta HF single-line: {single_line}")
266
  return single_line.strip()
267
  except Exception as e:
 
422
  "sparql_results": row_list,
423
  "explanation": explanation
424
  }
425
+
426
  @app.post("/prova")
427
  async def prova(req: QueryRequest):
428
  return {
429
  "type": "NATURAL",
430
+ "response": "Questa è una prova di richiesta"
431
  }
432
+
433
  @app.get("/")
434
  def home():
435
  return {"message": "Assistente Museale con supporto SPARQL."}