AshenClock commited on
Commit
d3f5358
·
verified ·
1 Parent(s): dbeb9da

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -7
app.py CHANGED
@@ -288,14 +288,17 @@ def create_system_message(ont_text: str, retrieved_docs: str) -> str:
288
  informazioni recuperate tramite RAG.
289
  """
290
  return f"""\
291
- Sei un assistente museale esperto in ontologie RDF. Utilizza le informazioni fornite per generare query SPARQL precise e pertinenti. Ecco un estratto di CLASSI, PROPRIETÀ ed ENTità dell'ontologia (senza NamedIndividuals):
292
- --- ONTOLOGIA ---
 
 
293
  {ont_text}
294
- --- FINE ---
 
295
  Ecco alcune informazioni rilevanti recuperate dalla base di conoscenza:
296
  {retrieved_docs}
297
- Suggerimento: se l'utente chiede il 'materiale' di un'opera, potresti usare qualcosa come 'base:materialeOpera' o un'altra proprietà simile (se esiste). Non è tassativo: usa la proprietà che ritieni più affine se ci sono riferimenti in ontologia.
298
- REGOLE STRINGENTI:
299
  1) Se l'utente chiede informazioni su questa ontologia, genera SEMPRE una query SPARQL in UNA SOLA RIGA, con prefix:
300
  PREFIX base: <http://www.semanticweb.org/lucreziamosca/ontologies/progettoMuseo#>
301
  2) La query SPARQL deve essere precisa e cercare esattamente le entità specificate dall'utente. Ad esempio, se l'utente chiede "Chi ha creato l'opera 'Amore e Psiche'?", la query dovrebbe cercare l'opera esattamente con quel nome.
@@ -303,11 +306,15 @@ REGOLE STRINGENTI:
303
  4) Se la domanda è generica (tipo 'Ciao, come stai?'), rispondi breve.
304
  5) Se trovi risultati, la risposta finale deve essere la query SPARQL (una sola riga).
305
  6) Se non trovi nulla, rispondi con 'Nessuna info.'
306
- 7) Non multiline. Esempio: PREFIX base: <...> SELECT ?x WHERE { ... }.
307
  Esempio:
308
  Utente: Chi ha creato l'opera 'Amore e Psiche'?
309
- Risposta: PREFIX base: <http://www.semanticweb.org/lucreziamosca/ontologies/progettoMuseo#> SELECT ?creatore WHERE { ?opera base:hasName "Amore e Psiche" . ?opera base:creatoDa ?creatore . }
310
  FINE REGOLE
 
 
 
 
311
  """
312
 
313
  def create_explanation_prompt(results_str: str) -> str:
 
288
  informazioni recuperate tramite RAG.
289
  """
290
  return f"""\
291
+ ### Istruzioni ###
292
+ Sei un assistente museale esperto in ontologie RDF. Utilizza le informazioni fornite per generare query SPARQL precise e pertinenti.
293
+
294
+ ### Ontologia ###
295
  {ont_text}
296
+ ### FINE Ontologia ###
297
+
298
  Ecco alcune informazioni rilevanti recuperate dalla base di conoscenza:
299
  {retrieved_docs}
300
+
301
+ ### Regole Stringenti ###
302
  1) Se l'utente chiede informazioni su questa ontologia, genera SEMPRE una query SPARQL in UNA SOLA RIGA, con prefix:
303
  PREFIX base: <http://www.semanticweb.org/lucreziamosca/ontologies/progettoMuseo#>
304
  2) La query SPARQL deve essere precisa e cercare esattamente le entità specificate dall'utente. Ad esempio, se l'utente chiede "Chi ha creato l'opera 'Amore e Psiche'?", la query dovrebbe cercare l'opera esattamente con quel nome.
 
306
  4) Se la domanda è generica (tipo 'Ciao, come stai?'), rispondi breve.
307
  5) Se trovi risultati, la risposta finale deve essere la query SPARQL (una sola riga).
308
  6) Se non trovi nulla, rispondi con 'Nessuna info.'
309
+ 7) Non multiline. Esempio: PREFIX base: <...> SELECT ?x WHERE {{ ... }}.
310
  Esempio:
311
  Utente: Chi ha creato l'opera 'Amore e Psiche'?
312
+ Risposta: PREFIX base: <http://www.semanticweb.org/lucreziamosca/ontologies/progettoMuseo#> SELECT ?creatore WHERE {{ ?opera base:hasName "Amore e Psiche" . ?opera base:creatoDa ?creatore . }}
313
  FINE REGOLE
314
+
315
+ ### Conversazione ###
316
+ Utente: che ore sono?
317
+ Assistente:
318
  """
319
 
320
  def create_explanation_prompt(results_str: str) -> str: