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 blocco è considerato 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 domanda dell'utente è «Qual è la capitale del Giappone?». Una risposta come «La capitale del Giappone è Londra» sarà considerata infondata e di fatto errata, mentre una risposta come «La capitale del Regno Unito è Londra» sarà considerata irrilevante, anche se è corretta e fondata sulla fonte.
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). Vengono configurati in modo diverso a seconda che si utilizzino le API Invoke, le API Converse o direttamente 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 le API Invoke e Converse, è la risposta del modello. Ad esempio, questo può essere «La capitale del Giappone è Tokyo».
Esempio di risposta non correlata
-
Fonte di base: «Londra è la capitale del Regno Unito. Tokyo è la capitale del Giappone».
-
Domanda - «Qual è la capitale del Giappone?»
-
Contenuto da custodire: «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
-
Fonte di base: «Londra è la capitale del Regno Unito. Tokyo è la capitale del Giappone».
-
Domanda - «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
-
Fonte di base: «Londra è la capitale del Regno Unito. Tokyo è la capitale del Giappone».
-
Domanda - «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 della fonte precedente, possono esserci 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.
Un-grounded ma Rilevante
-
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%.
Un-grounded e irrilevante
-
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 all'indirizzo 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 tuo guardrail, espandi l'inferenza, quindi seleziona Abilita Cross-Region l'inferenza interregionale per il tuo guardrail. Scegli un profilo guardrail che definisca la destinazione Regioni AWS in 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 di correlazione contestuale con le API Invoke
Per contrassegnare la fonte di base e la query all'interno dell'input, utilizzate i seguenti tag che funzionano allo stesso modo dei tag di input. Questi tag sono amazon-bedrock-guardrails-groundingSource_xyz eamazon-bedrock-guardrails-query_xyz, xyz dov'è il suffisso del tag. Ad 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 guardContent tag. I contenuti interni groundingSource e i query tag sono esclusi dalle valutazioni politiche diverse dalla base contestuale (filtri per parole, filtri per argomento, filtri per contenuti, rilevamento di informazioni sensibili).
Il comportamento delle politiche rimanenti dipende dall'uso guardContent o meno dei tag:
-
Senza
guardContenttag: le altre politiche utilizzano il comportamento predefinito: le richieste di sistema non vengono esaminate e i messaggi vengono esaminati. -
Con
guardContenttag: le altre politiche esaminano solo il contenuto all'interno dei tag.guardContentI contenuti esterni a qualsiasi tag (testo senza tag) e quelli all'interno deiquerytag vengonogroundingSourceignorati.
Per fare in modo che il contenuto della fonte di base o della query venga valutato anche in base alle politiche rimanenti, inserisci il tag di base contestuale all'interno di un tag: guardContent
<amazon-bedrock-guardrails-guardContent_xyz><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-guardContent_xyz> <amazon-bedrock-guardrails-query_xyz>What is the capital of Japan?</amazon-bedrock-guardrails-query_xyz>
In questo esempio, il contenuto del grounding source viene utilizzato sia come fonte di riferimento contestuale sia valutato in base ad altre policy, poiché è anch'esso racchiuso in un tag. guardContent
Chiamata contestuale del grounding check con Converse API
Per contrassegnare l’origine della correlazione e la query per le API Converse, utilizzare il campo dei qualificatori in ogni blocco di contenuti da proteggere. Ad 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.
Il comportamento delle politiche diverse dal grounding contestuale dipende dai qualificatori assegnati a ciascun blocco: guardContent
-
["grounding_source"]— Il contenuto viene utilizzato solo come fonte di riferimento contestuale. Non viene valutato da altre politiche. -
["query"]— Il contenuto viene utilizzato solo come interrogazione contestuale dell'utente. Non viene valutato da altre politiche. -
["guard_content"]— Il contenuto viene valutato mediante il controllo di base contestuale (come contenuto da proteggere) e in base a tutte le altre politiche. -
Nessun elemento qualificante (non qualificato): il contenuto viene valutato mediante il controllo contestuale di base (come contenuto da proteggere) e in base a tutte le altre politiche.
-
["grounding_source", "guard_content"]— Il contenuto svolge entrambi i ruoli: viene utilizzato come fonte di riferimento contestuale e valutato in base ad altre politiche. -
["query", "guard_content"]— Il contenuto svolge entrambi i ruoli: viene utilizzato come interrogazione contestuale di base e valutato in base ad altre politiche.
Se desideri che il contenuto della tua fonte di base o della tua query venga valutato anche da altre policy di guardrail, aggiungili all'elenco dei qualificatori insieme guard_content al qualificatore di base contestuale.
ApplyGuardrail Richiamo al controllo contestuale del grounding con API
L’utilizzo del controllo di correlazione contestuale con ApplyGuardrail è simile a quello con le API Converse. 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 contenuti può essere facoltativamente qualificato con guard_content ed è equivalente alla risposta del modello nelle API Invoke* o Converse*. Ad 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.
In che modo i qualificatori influiscono sulla valutazione delle politiche
I blocchi di contenuto con grounding_source o query qualificatori vengono valutati solo mediante il controllo contestuale della base. Questi blocchi sono esclusi da tutte le altre valutazioni delle politiche di Guardrail (filtri per parole, filtri per argomento, filtri per contenuti, rilevamento di informazioni sensibili e rilevamento tempestivo degli attacchi).
Per fare in modo che un blocco di contenuto venga valutato sia dal contestual grounding check che da altre policy di guardrail, usa entrambi i qualificatori insieme. Ad esempio, specificate di ["grounding_source", "guard_content"] contrassegnare un blocco di contenuto come fonte di base soggetta anche a tutte le altre politiche configurate.
Per la valutazione del contenuto mediante policy diverse dalla base contestuale, è necessario che almeno un blocco di contenuto non sia qualificato o sia esplicitamente qualificato con. guard_content Un blocco di contenuto non è qualificato quando non contiene alcun campo. qualifiers
La tabella seguente riassume il modo in cui ogni combinazione di qualificatori influisce sulla valutazione delle politiche.
| Qualificatore | Controllo contestuale del grounding | Altre politiche di guardrail |
|---|---|---|
|
Valutato (come riferimento) |
Non valutato |
|
Valutata (come interrogazione) |
Non valutato |
|
Valutato (come risposta) |
Valutato |
Nessuna qualificazione (non qualificata) |
Valutato (come risposta) |
Valutato |
|
Valutato (come riferimento) |
Valutato |
|
Valutato (come interrogazione) |
Valutato |