Update app.py
Browse files
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 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
else:
|
252 |
-
raise ValueError("
|
253 |
|
254 |
# Forza la risposta su una singola linea se multilinea
|
255 |
-
single_line = " ".join(
|
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."}
|