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:
|