Update app.py
Browse files
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 |
-
|
292 |
-
|
|
|
|
|
293 |
{ont_text}
|
294 |
-
|
|
|
295 |
Ecco alcune informazioni rilevanti recuperate dalla base di conoscenza:
|
296 |
{retrieved_docs}
|
297 |
-
|
298 |
-
|
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:
|