AshenClock commited on
Commit
8e527d0
·
verified ·
1 Parent(s): 3b0ec68

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -4
app.py CHANGED
@@ -42,15 +42,15 @@ class QueryRequest(BaseModel):
42
  # Messaggio di sistema con RDF incluso
43
  def create_system_message(rdf_context):
44
  return f"""
45
- Sei un assistente specializzato nella generazione e riscrittura di query SPARQL basate su dati RDF.
46
  La base di conoscenza RDF è la seguente:
47
  {rdf_context}
48
  Il tuo compito principale è:
49
  1. Analizzare lo schema RDF o i dati RDF forniti e la domanda in linguaggio naturale posta dall'utente.
50
  2. Generare una query SPARQL valida che recuperi le informazioni richieste dai dati RDF.
51
- 3. Se l'utente fornisce una query SPARQL con una richiesta di spiegazione o correzione, riscrivila per renderla più efficiente o corretta.
52
  Regole:
53
- - Non generare nulla al di fuori di una query SPARQL, a meno che non sia esplicitamente richiesto.
54
  - Se la domanda non può essere soddisfatta con una query SPARQL, rispondi con: \"Non posso generare una query per questa domanda.\"
55
  """
56
 
@@ -94,7 +94,10 @@ async def generate_query(request: QueryRequest):
94
  if not is_valid:
95
  raise HTTPException(status_code=400, detail="La query generata non è valida rispetto al file RDF fornito.")
96
 
97
- return {"query": response}
 
 
 
98
 
99
  # Endpoint per verificare se il server è attivo
100
  @app.get("/")
 
42
  # Messaggio di sistema con RDF incluso
43
  def create_system_message(rdf_context):
44
  return f"""
45
+ Sei un assistente specializzato nella generazione e spiegazione di query SPARQL basate su dati RDF.
46
  La base di conoscenza RDF è la seguente:
47
  {rdf_context}
48
  Il tuo compito principale è:
49
  1. Analizzare lo schema RDF o i dati RDF forniti e la domanda in linguaggio naturale posta dall'utente.
50
  2. Generare una query SPARQL valida che recuperi le informazioni richieste dai dati RDF.
51
+ 3. Spiegare in modo prolisso e naturale il significato dei risultati, come farebbe una guida in un museo.
52
  Regole:
53
+ - Genera solo query SPARQL in una singola riga, senza formattazioni aggiuntive.
54
  - Se la domanda non può essere soddisfatta con una query SPARQL, rispondi con: \"Non posso generare una query per questa domanda.\"
55
  """
56
 
 
94
  if not is_valid:
95
  raise HTTPException(status_code=400, detail="La query generata non è valida rispetto al file RDF fornito.")
96
 
97
+ explanation = f"La query generata è: {response.replace('\n', ' ').strip()}. "
98
+ explanation += "Questa query è stata progettata per estrarre informazioni specifiche dai dati RDF, consentendo di rispondere alla tua domanda. Risultati ottenuti da questa query possono includere dettagli come entità, relazioni o attributi collegati al contesto fornito."
99
+
100
+ return {"query": response.replace("\n", " ").strip(), "explanation": explanation}
101
 
102
  # Endpoint per verificare se il server è attivo
103
  @app.get("/")