Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzare il controllo di correlazione contestuale per filtrare le allucinazioni nelle risposte
Guardrail per Amazon Bedrock supporta i controlli di correlazione contestuale per rilevare e filtrare le allucinazioni nelle risposte del modello quando vengono fornite una fonte di riferimento e una query dell’utente. I casi d'uso supportati includono il riepilogo, la parafrasi e la risposta alle domande, come definito nella disciplina informatica. (I casi d'uso di QA conversazionale /Chatbot non sono supportati.)
I controlli di correlazione contestuale verificano la pertinenza di ogni blocco elaborato. Se un singolo blocco è ritenuto pertinente, l’intera risposta è considerata pertinente in quanto contiene la risposta alla domanda dell’utente. Per l’API di streaming può verificarsi uno scenario in cui all’utente viene restituita una risposta non pertinente, ma viene contrassegnata come tale solo dopo la trasmissione dell’intera risposta.
Il grounding contestuale verifica i seguenti paradigmi:
-
Correlazione: verifica se la risposta del modello è effettivamente accurata in base all’origine e se è correlata all’origine. Qualsiasi nuova informazione introdotta nella risposta sarà considerata non correlata.
-
Pertinenza: verifica se la risposta del modello è pertinente alla query dell’utente.
Consideriamo un esempio in cui la fonte di riferimento contiene “Londra è la capitale del Regno Unito. Tokyo è la capitale del Giappone” e la query dell’utente è “Qual è la capitale del Giappone?”. Una risposta come “La capitale del Giappone è Londra” sarà considerata non correlata e di fatto errata, mentre una risposta come “La capitale del Regno Unito è Londra” sarà considerata non pertinente, anche se è corretta e correlata all’origine.
Nota
Quando una richiesta include più tag grounding_source, il guardrail combina e valuta insieme tutti i valori di grounding_source, anziché considerare ogni tag grounding_source separatamente. Questo comportamento è identico per il tag query.
Nota
Attualmente la policy della correlazione contestuale supporta al massimo 100.000 caratteri per l’origine della correlazione, 1.000 caratteri per la query e 5.000 caratteri per la risposta.
Punteggi e soglie di attendibilità
I controlli di correlazione contestuale generano punteggi di attendibilità corrispondenti alla correlazione e alla pertinenza per ogni risposta del modello elaborata in base all’origine e alla query dell’utente fornita. È possibile configurare soglie per filtrare le risposte del modello in base ai punteggi generati. La soglia di filtraggio determina il punteggio di attendibilità minimo consentito affinché la risposta del modello venga considerata correlata e pertinente nell’applicazione di IA generativa. Ad esempio, se la soglia di correlazione e la soglia di pertinenza sono entrambe impostate su 0,7, tutte le risposte del modello con un punteggio di correlazione o di pertinenza inferiore a 0,7 verranno considerate come allucinazioni e bloccate nell’applicazione. Man mano che aumenta la soglia di filtraggio, aumenta la probabilità di bloccare contenuti non correlati e non pertinenti e diminuisce la probabilità di vedere contenuti allucinati nell’applicazione. È possibile configurare valori di soglia relativi a correlazione e pertinenza compresi tra 0 e 0,99. Una soglia pari a 1 non è valida in quanto blocca tutti contenuti.
Per eseguire i controlli di correlazione contestuale sono necessari tre componenti: l’origine della correlazione, la query e i contenuti da proteggere (o la risposta del modello). Questi sono configurati in modo diverso a seconda che si utilizzi Invoke o direttamente APIs. Converse APIs ApplyGuardrail
-
Origine della correlazione: informazioni contestuali necessarie per rispondere a qualsiasi query dell’utente. Ad esempio, “Londra è la capitale del Regno Unito. Tokyo è la capitale del Giappone”.
-
Query: una domanda che un utente può porre. Ad esempio, “Qual è la capitale del Giappone?”.
-
Contenuto da proteggere: il testo da proteggere rispetto all’origine della correlazione e alla query. Per Invoke and Converse APIs, questa è la risposta del modello. Ad esempio, può essere “La capitale del Giappone è Tokyo”.
Esempio di risposta non correlata
-
Origine della correlazione: “Londra è la capitale del Regno Unito. Tokyo è la capitale del Giappone”.
-
Query: “Qual è la capitale del Giappone?”
-
Contenuto da proteggere: “La capitale del Giappone è Londra”.
In questo esempio, il contenuto da proteggere è pertinente alla query ma non è correlato in quanto non utilizza correttamente l’origine della correlazione. Avrebbe un punteggio di correlazione basso.
Esempio di risposta non pertinente
-
Origine della correlazione: “Londra è la capitale del Regno Unito”. Tokyo è la capitale del Giappone”.
-
Query: “Qual è la capitale del Giappone?”
-
Contenuto da proteggere: “La capitale del Regno Unito è Londra”.
In questo esempio, il contenuto da proteggere è correlato ma non pertinente. Utilizza informazioni provenienti dall’origine della correlazione ma non risponde alla query. Avrebbe un punteggio di pertinenza basso.
Esempio di risposta non correlata e non pertinente
-
Origine della correlazione: “Londra è la capitale del Regno Unito”. Tokyo è la capitale del Giappone”.
-
Query: “Qual è la capitale del Giappone?”
-
Contenuto da proteggere: “Fuori piove”.
In questo esempio, il contenuto da proteggere non è correlato e non è pertinente. Non utilizza informazioni provenienti dall’origine della correlazione e non risponde alla query. Avrebbe un punteggio di correlazione e di pertinenza basso.
Altri esempi
Consideriamo un’applicazione bancaria progettata per rispondere a domande relative a costi e commissioni.
Origine:
-
Non vengono addebitati costi all’apertura di un conto corrente.
-
Il costo mensile per la gestione di un conto corrente è 10 $.
-
È prevista una commissione dell’1% per i bonifici internazionali.
-
Non vengono addebitati costi per bonifici nazionali.
-
Le commissioni applicate per ritardato pagamento con carta di credito sono del 23,99%.
Sulla base dell’origine precedente, possono verificarsi quattro scenari a seconda della query dell’utente.
Correlata e pertinente
-
D: Quali costi vengono addebitati all’apertura di un conto corrente?
-
R: Il costo mensile per la gestione di un conto corrente è 10 $. Non vengono addebitati costi per bonifici nazionali. Tuttavia, è prevista una commissione dell’1% per i bonifici internazionali. Non vengono addebitati costi all’apertura di un conto corrente.
Non correlata ma pertinente
-
D: Qual è la commissione applicata alle transazioni con carta di credito?
-
R: Alle transazioni con carta di credito viene applicata una commissione del 23,99%.
Correlata ma non pertinente
-
D: Quali sono i costi per l’utilizzo di un conto corrente?
-
R: In base alle informazioni fornite, la commissione per ritardato pagamento con carta di credito è del 23,99%.
Non correlata e non pertinente
-
D: Quali sono i costi per l’utilizzo di un conto corrente?
-
R: I costi per il conto di intermediazione sono 0,5 $ per transazione di trading.
Argomenti
Aggiungere controlli di correlazione contestuale con la console
Accedi a Console di gestione AWS con un'identità IAM che dispone delle autorizzazioni per utilizzare la console Amazon Bedrock. Quindi, apri la console Amazon Bedrock in https://console.aws.amazon.com/bedrock.
-
Nel riquadro di navigazione a sinistra, scegli Guardrail e poi Crea guardrail.
-
Nella pagina Fornisci i dettagli del guardrail, procedi come segue:
-
Nella sezione Dettagli del guardrail, fornisci un nome e una descrizione facoltativa per il guardrail.
-
Per Messaggi relativi ai prompt bloccati, inserisci un messaggio che viene visualizzato quando viene applicato il guardrail. Seleziona la casella di controllo Applica lo stesso messaggio bloccato per le risposte per utilizzare lo stesso messaggio quando il guardrail viene applicato alla risposta.
-
(Facoltativo) Per abilitare l’inferenza tra Regioni per il guardrail, espandi Inferenza tra Regioni, quindi seleziona Abilita inferenza tra Regioni per il tuo guardrail. Scegli un profilo guardrail che definisca la destinazione in Regioni AWS cui possono essere instradate le richieste di inferenza del guardrail.
-
(Facoltativo) Per impostazione predefinita, il guardrail è crittografato con una Chiave gestita da AWS. Per utilizzare la tua chiave KMS gestita dal cliente, espandi Selezione chiave KMS e seleziona la casella di controllo Personalizza impostazioni di crittografia (avanzate).
Puoi selezionare una AWS KMS chiave esistente o selezionare Crea una AWS KMS chiave per crearne una nuova.
-
(Facoltativo) Per aggiungere tag al guardrail, espandi Tag, quindi seleziona Aggiungi nuovo tag per ogni tag che definisci.
Per ulteriori informazioni, consulta Assegnazione di tag alle risorse Amazon Bedrock.
-
Scegli Avanti.
-
-
Nella pagina Aggiungi controllo di correlazione contestuale, configura le soglie per bloccare le informazioni non correlate o non pertinenti.
Nota
Per ogni tipo di controllo, puoi spostare il cursore o inserire un valore di soglia compreso tra 0 e 0,99. Seleziona una soglia appropriata per i tuoi usi. Una soglia più alta richiede che le risposte siano correlate o pertinenti con un grado di affidabilità elevato per essere consentite. Le risposte al di sotto della soglia verranno escluse.
-
Nel campo Correlazione, seleziona Abilita il controllo di correlazione per verificare se le risposte del modello sono correlate.
-
Nel campo Pertinenza, seleziona Abilita il controllo della pertinenza per verificare se le risposte del modello sono pertinenti.
-
Al termine della configurazione dei filtri per le informazioni sensibili, seleziona Avanti o Passa a Rivedi e crea.
-
Chiamare il controllo contestuale del grounding con Invoke APIs
Per contrassegnare l’origine della correlazione e la query nell’input, sono disponibili due tag che funzionano in modo analogo ai tag di input. Sono i tag amazon-bedrock-guardrails-groundingSource_xyz e amazon-bedrock-guardrails-query_xyz, dove xyz rappresenta il suffisso del tag. Esempio:
{ "text": """ <amazon-bedrock-guardrails-groundingSource_xyz>London is the capital of UK. Tokyo is the capital of Japan. </amazon-bedrock-guardrails-groundingSource_xyz> <amazon-bedrock-guardrails-query_xyz>What is the capital of Japan?</amazon-bedrock-guardrails-query_xyz> """, "amazon-bedrock-guardrailConfig": { "tagSuffix": "xyz", }, }
La risposta del modello è obbligatoria per eseguire i controlli di correlazione contestuale e quindi i controlli vengono eseguiti solo sull’output e non sul prompt.
Questi tag possono essere utilizzati insieme ai tag guardContent. Se non vengono utilizzati tag guardContent, per impostazione predefinita il guardrail applica tutte le policy configurate in tutto l’input, incluse l’origine della correlazione e la query. Se vengono utilizzati i tag guardContent, la policy del controllo di correlazione contestuale esamina solo l’origine della correlazione, la query e la risposta, mentre le altre policy esaminano i contenuti nei tag guardContent.
Chiamare il controllo contestuale del grounding con Converse APIs
Per contrassegnare la fonte del grounding e la query per Converse APIs, usa il campo qualifiers in ogni blocco di contenuto di Guard. Esempio:
[ { "role": "user", "content": [ { "guardContent": { "text": { "text": "London is the capital of UK. Tokyo is the capital of Japan", "qualifiers": ["grounding_source"], } } }, { "guardContent": { "text": { "text": "What is the capital of Japan?", "qualifiers": ["query"], } } }, ], } ]
La risposta del modello è obbligatoria per eseguire i controlli di correlazione contestuale e quindi i controlli vengono eseguiti solo sull’output e non sul prompt.
Se nessuno dei blocchi di contenuti è contrassegnato con il qualificatore guard_content, la policy dei controlli di correlazione contestuale esamina solo l’origine della correlazione, la query e la risposta. Le altre policy seguono il comportamento di indagine predefinito: per impostazione predefinita il prompt di sistema non viene esaminato mentre i messaggi vengono esaminati. Se invece un blocco di contenuti viene contrassegnato con il qualificatore guard_content, la policy dei controlli di correlazione contestuale esamina solo l’origine della correlazione, la query e la risposta, mentre le altre policy esaminano i contenuti contrassegnati con i tag guardContent.
Chiamata contestuale del grounding check con API ApplyGuardrail
L'utilizzo di contextual grounding check with ApplyGuardrail è simile a quello con. Converse APIs Per contrassegnare l’origine della correlazione e la query per ApplyGuardrail, utilizzare il campo dei qualificatori in ogni blocco di contenuti. Tuttavia, poiché con ApplyGuardrail non viene invocato alcun modello, è necessario fornire anche un blocco di contenuti aggiuntivo con i contenuti da proteggere. Questo blocco di contenuto può essere facoltativamente qualificato con guard_content ed è equivalente alla risposta del modello in Invoke* o Converse*. APIs Esempio:
[ { "text": { "text": "London is the capital of UK. Tokyo is the capital of Japan", "qualifiers": [ "grounding_source" ] } }, { "text": { "text": "What is the capital of Japan?", "qualifiers": [ "query" ] } }, { "text": { "text": "The capital of Japan is Tokyo." } } ]
La risposta del modello è obbligatoria per eseguire i controlli di correlazione contestuale e quindi i controlli vengono eseguiti solo sull’output e non sul prompt.
Se nessuno dei blocchi di contenuti è contrassegnato con il qualificatore guard_content, la policy dei controlli di correlazione contestuale esamina solo l’origine della correlazione, la query e la risposta. Le altre policy seguono il comportamento di indagine predefinito: per impostazione predefinita il prompt di sistema non viene esaminato mentre i messaggi vengono esaminati. Se invece un blocco di contenuti viene contrassegnato con il qualificatore guard_content, la policy dei controlli di correlazione contestuale esamina solo l’origine della correlazione, la query e la risposta, mentre le altre policy esaminano i contenuti contrassegnati con i tag guardContent.