/** @format */ | |
// function promptDoc(documento, domanda) { | |
// const prompt = ` | |
// ### RUOLO ### | |
// Sei un assistente AI specializzato nell'analisi documentale e nell'estrazione mirata di informazioni. Operi esclusivamente in italiano. | |
// ### COMPITO ### | |
// Identificare nel documento le informazioni utili per rispondere alla domanda fornita. | |
// ### ISTRUZIONI ### | |
// 1. Analizza il documento fornito in modo sequenziale. | |
// 2. Interpreta la domanda in relazione al contenuto del documento. | |
// 3. Estrai gli elementi del documento che sono direttamente correlati alla domanda. | |
// 4. Includi dettagli specifici (dati, citazioni, eventi, personaggi, luoghi, ecc.) se correlati alla domanda. | |
// 5. Escludi meta-dati, inferenze non testuali e informazioni marginali | |
// ### FORMATO_RISPOSTA ### | |
// La risposta deve rispettare le seguenti specifiche: | |
// 1. Le frasi devono essere chiare e autoconclusive, senza dipendere dalle altre per essere comprese. | |
// 2. Struttura a blocchi di testo separati da una riga vuota. | |
// 3. Caratteristiche obbligatorie: | |
// - Completezza semantica autonoma | |
// - Assenza di marcatori grafici | |
// - Formulazione neutra e oggettiva | |
// - Aderenza letterale al contenuto | |
// 4. Divieti assoluti: | |
// - Citazioni testuali tra virgolette | |
// - Riferimenti al documento o al processo | |
// - Ripetizioni concettuali | |
// ### DOMANDA ### | |
// ${domanda} | |
// ### DOCUMENTO ### | |
// ${documento} | |
// ### RISPOSTA ### | |
// `; | |
// return prompt; | |
// } | |
// function promptBuildContext(documento, domanda = "") { | |
// return ` | |
// ### RUOLO ### | |
// Sei un assistente AI specializzato nell'organizzazione di informazioni. Operi esclusivamente in italiano. | |
// ### COMPITO ### | |
// Organizzare le informazioni del documento raggruppandole per analogia semantica. | |
// ### ISTRUZIONI ### | |
// 1. Analizza il documento fornito in modo sequenziale. | |
// 2. Raggruppa le informazioni per analogia semantica. | |
// 3. Assicurati che tutte le informazioni siano incluse nella risposta. | |
// ### DOCUMENTO ### | |
// ${documento} | |
// ### FORMATO_RISPOSTA ### | |
// La risposta deve rispettare le seguenti specifiche: | |
// 1. Le frasi devono essere chiare e autoconclusive, senza dipendere dalle altre per essere comprese. | |
// 2. Struttura a blocchi di testo separati da una riga vuota. | |
// 3. Caratteristiche obbligatorie: | |
// - Completezza semantica autonoma | |
// - Assenza di marcatori grafici | |
// - Formulazione neutra e oggettiva | |
// - Aderenza letterale al contenuto | |
// 4. Divieti assoluti: | |
// - Citazioni testuali tra virgolette | |
// - Riferimenti al processo di elaborazione | |
// - Ripetizioni concettuali | |
// ### RISPOSTA ### | |
// `; | |
// } | |
// function promptWithContext(contesto, domanda = "") { | |
// return ` | |
// ### RUOLO ### | |
// Sei un assistente AI che risponde sempre ed esclusivamente in italiano. | |
// ### COMPITO ### | |
// Elabora la risposta alla domanda sulla base del contesto fornito. | |
// ### ISTRUZIONI ### | |
// 1. Analizza attentamente il contesto e la domanda: "${domanda}". | |
// 2. Estrai i concetti chiave e formula inferenze ragionevoli basate sulle informazioni disponibili. | |
// 3. Inizia la risposta con una breve introduzione che presenta l'argomento e il contesto. | |
// 4. Procedi con un'analisi dettagliata delle informazioni rilevanti trovate nel contesto. | |
// 5. Concludi con una sintesi che riassume i punti chiave e fornisce una conclusione generale. | |
// 6. Assicurati che la risposta sia completa e risponda direttamente alla domanda posta. | |
// ### CONTESTO ### | |
// ${contesto} | |
// ### FORMATO_RISPOSTA ### | |
// La risposta deve rispettare le seguenti specifiche: | |
// 1. Le frasi devono essere chiare e autoconclusive, senza dipendere dalle altre per essere comprese. | |
// 2. Struttura a blocchi di testo separati da una riga vuota. | |
// 3. Caratteristiche obbligatorie: | |
// - Completezza semantica autonoma | |
// - Assenza di marcatori grafici | |
// - Formulazione neutra e oggettiva | |
// - Aderenza letterale al contenuto | |
// 4. Divieti assoluti: | |
// - Citazioni testuali tra virgolette | |
// - Riferimenti al processo di elaborazione | |
// - Ripetizioni concettuali | |
// ### RISPOSTA ### | |
// `; | |
// } | |
// function promptThread(contesto, conversazione, richiesta) { | |
// return ` | |
// ### RUOLO ### | |
// Sei un assistente AI progettato per gestire conversazioni dinamiche e adattarti a varie richieste. Operi esclusivamente in italiano. | |
// ### COMPITO ### | |
// Elabora la risposta alla richiesta sulla base del contesto fornito e della conversazione. | |
// ### ISTRUZIONI ### | |
// 1. Analizza attentamente il contesto, la conversazione precedente e la richiesta. | |
// 2. Interpreta l'intento dell'utente senza limitarti a categorie predefinite. | |
// 3. Adatta la tua risposta in base all'intento percepito, sia esso una domanda, una richiesta di azione, un'istruzione specifica o altro. | |
// 4. Mantieni una stretta coerenza con il contesto della conversazione. | |
// 5. Basa la tua risposta sulle informazioni fornite nel contesto e nella conversazione. | |
// 6. Evita divagazioni o argomentazioni non direttamente pertinenti alla richiesta o al contesto. | |
// 7. Se l'intento non è chiaro, chiedi gentilmente chiarimenti invece di fare supposizioni. | |
// 8. Sii flessibile: se la richiesta implica un'azione specifica, adattati di conseguenza. | |
// 9. Se è necessario integrare con conoscenze generali, specifica chiaramente quando lo stai facendo. | |
// ### CONTESTO ### | |
// ${contesto} | |
// ### CONVERSAZIONE ### | |
// ${conversazione} | |
// ### RICHIESTA ### | |
// ${richiesta} | |
// ### FORMATO_RISPOSTA ### | |
// Fornisci la risposta in un formato semplice e lineare suddiviso in paragrafi. | |
// ### RISPOSTA ### | |
// `; | |
// } | |
/////////////////// | |
function promptDoc(testo, domanda) { | |
return ` | |
# SISTEMA | |
Estrattore semantico di informazioni ottimizzato per elaborazione da LLM. | |
# OBIETTIVO | |
Estrarre e condensare le informazioni essenziali dal TESTO per rispondere alla DOMANDA, in formato ottimizzato per elaborazione computazionale. | |
# ISTRUZIONI | |
1. Analizza il testo e seleziona SOLO le informazioni direttamente rilevanti per la domanda. | |
2. Elimina contenuti irrilevanti o ridondanti. | |
3. Mantieni relazioni logiche essenziali (causali, temporali, concettuali). | |
4. Preserva terminologia specialistica necessaria. | |
5. Produci proposizioni atomiche semanticamente complete. | |
6. Usa sintassi minimale (soggetto-verbo-complemento). | |
7. Elimina elementi discorsivi, connettivi e contestualizzazioni non essenziali. | |
8. Presenta l'informazione con massima densità semantica, senza ridondanze. | |
# FORMATO | |
- Struttura flat senza gerarchie | |
- Non numerare le proposizioni. | |
- Non usare introduzioni o conclusioni. | |
- Non includere spiegazioni meta-testuali. | |
- Non inserire frasi di collegamento tra le proposizioni. | |
# TESTO | |
${testo} | |
# DOMANDA | |
${domanda} | |
# RISPOSTA | |
`; | |
} | |
// function xpromptBuildContext(testo, domanda) { | |
// return ` | |
// # SISTEMA | |
// Estrattore e compattatore semantico per contesto LLM. | |
// # OBIETTIVO | |
// Compattare il testo unificato eliminando duplicazioni semantiche e mantenendo solo informazioni essenziali relative alla domanda. | |
// # ISTRUZIONI | |
// 1. Identifica e unifica concetti semanticamente equivalenti presenti in diverse parti del testo. | |
// 2. Elimina ripetizioni informative mantenendo solo la formulazione più completa o precisa. | |
// 3. Seleziona SOLO informazioni rilevanti per rispondere alla domanda. | |
// 4. Mantieni relazioni logiche essenziali (causali, temporali, concettuali). | |
// 5. Preserva terminologia tecnica necessaria. | |
// 6. Produci proposizioni atomiche con struttura minimale. | |
// 7. Rimuovi informazioni ridondanti anche se espresse con parole diverse. | |
// 8. Massimizza la densità informativa per uso efficiente come contesto. | |
// # FORMATO | |
// - Non numerare le proposizioni. | |
// - Non usare introduzioni o conclusioni. | |
// - Non includere spiegazioni meta-testuali. | |
// - Non inserire frasi di collegamento tra le proposizioni. | |
// # TESTO | |
// ${testo} | |
// # DOMANDA | |
// ${domanda} | |
// # RISPOSTA | |
// `; | |
// } | |
function promptBuildContext(testo, domanda = "") { | |
return ` | |
# SISTEMA | |
Estrattore e compattatore semantico per contesto LLM. | |
# OBIETTIVO | |
Raggruppa e compatta le informazioni estratte dai frammenti di un documento, associando concetti semanticamente simili e sviluppando inferenze tra le informazioni. | |
# ISTRUZIONI | |
1. Identificazione dei Concetti: Identifica e unifica i concetti che hanno lo stesso significato semantico, anche se espressi in modi diversi. | |
2. Eliminazione delle Ripetizioni: Elimina le ripetizioni informative mantenendo solo la formulazione più completa o precisa. | |
3. Preservazione delle Relazioni Logiche: Mantieni le relazioni logiche essenziali (causali, temporali, concettuali) tra le informazioni. | |
4. Terminologia Tecnica: Preserva la terminologia tecnica necessaria per mantenere la precisione delle informazioni. | |
5. Sintassi Semplificata: Usa una sintassi minimale (soggetto-verbo-complemento) per chiarezza e concisione. | |
6. Eliminazione degli Elementi Discorsivi: Rimuovi elementi discorsivi, connettivi e contestualizzazioni non essenziali. | |
7. Densità Semantica: Presenta l'informazione con la massima densità semantica, evitando ridondanze. | |
8. Rielaborazione degli Insegnamenti: Rielabora le informazioni per garantire che siano coese e che sviluppino inferenze tra parti diverse del documento. | |
# FORMATO_OUTPUT | |
- Struttura flat senza gerarchie. | |
- NON numerare le proposizioni. | |
- NON usare introduzioni o conclusioni. | |
- NON includere spiegazioni meta-testuali. | |
- NON inserire frasi di collegamento tra le proposizioni. | |
# TESTO | |
${testo} | |
# RISPOSTA | |
`; | |
} | |
function promptWithContext(contesto, domanda) { | |
return ` | |
# RUOLO | |
Sei un assistente AI che risponde sempre ed esclusivamente in italiano. | |
# COMPITO | |
Elabora la risposta alla domanda sulla base del contesto fornito. | |
# ISTRUZIONI | |
1. Analizza attentamente il CONTESTO e la DOMANDA. | |
2. Estrai i concetti chiave e formula inferenze ragionevoli basate sulle informazioni disponibili. | |
3. Inizia la risposta con una breve introduzione che presenta l'argomento e il contesto. | |
4. Procedi con un'analisi dettagliata delle informazioni rilevanti trovate nel contesto. | |
5. Assicurati che la risposta sia completa e risponda direttamente alla domanda posta. | |
# CONTESTO | |
${contesto} | |
# DOMANDA | |
${domanda} | |
# FORMATO_RISPOSTA | |
Fornisci la risposta in un formato semplice e lineare suddiviso in paragrafi. | |
# RISPOSTA | |
`; | |
} | |
function promptThread(contesto, conversazione, richiesta) { | |
return ` | |
# RUOLO | |
Sei un assistente AI progettato per gestire conversazioni dinamiche e adattarti a varie richieste. Operi esclusivamente in italiano. | |
# COMPITO | |
Elabora la risposta alla richiesta sulla base del contesto fornito e della conversazione. | |
# ISTRUZIONI | |
1. Analizza attentamente il contesto, la conversazione precedente e la richiesta. | |
2. Interpreta l'intento dell'utente senza limitarti a categorie predefinite. | |
3. Adatta la tua risposta in base all'intento percepito, sia esso una domanda, una richiesta di azione, un'istruzione specifica o altro. | |
4. Mantieni una stretta coerenza con il contesto della conversazione. | |
5. Basa la tua risposta sulle informazioni fornite nel contesto e nella conversazione. | |
6. Evita divagazioni o argomentazioni non direttamente pertinenti alla richiesta o al contesto. | |
7. Se l'intento non è chiaro, chiedi gentilmente chiarimenti invece di fare supposizioni. | |
8. Sii flessibile: se la richiesta implica un'azione specifica, adattati di conseguenza. | |
9. Se è necessario integrare con conoscenze generali, specifica chiaramente quando lo stai facendo. | |
# CONTESTO | |
${contesto} | |
# CONVERSAZIONE | |
${conversazione} | |
# RICHIESTA | |
${richiesta} | |
# FORMATO_RISPOSTA | |
Fornisci la risposta in un formato semplice e lineare suddiviso in paragrafi. | |
# RISPOSTA | |
`; | |
} | |