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à.
Usa il controllo contestuale del grounding per filtrare le allucinazioni nelle risposte
Amazon Bedrock Guardrails supporta il controllo contestuale del grounding per rilevare e filtrare le allucinazioni nelle risposte del modello quando viene fornita una fonte di riferimento e una query dell'utente. I casi d'uso supportati spaziano dalla generazione aumentata al recupero (RAG), al riepilogo, alla parafrasi o agli agenti conversazionali che si basano su una fonte di riferimento, come i pass recuperati in RAG o la cronologia delle conversazioni con cui gli agenti possono fondare le conversazioni.
Il controllo contestuale del grounding verifica 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, ciò può comportare uno scenario in cui all'utente viene restituita una risposta irrilevante e viene contrassegnata come irrilevante solo dopo lo streaming dell'intera risposta.
Il controllo contestuale del grounding valuta le allucinazioni secondo due paradigmi:
-
Grounding: verifica se la risposta del modello è effettivamente accurata in base alla fonte e se è fondata sulla fonte. Qualsiasi nuova informazione introdotta nella risposta sarà considerata priva di fondamento.
-
Rilevanza: verifica se la risposta del modello è pertinente alla richiesta 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ù grounding_source
tag, il guardrail combina e valuta tutti i grounding_source
valori forniti insieme, anziché considerarli separatamente. grounding_source
Questo comportamento è identico per il query
tag.
Nota
La politica di base contestuale attualmente supporta un massimo di 100.000 caratteri per il grounding source, 1.000 caratteri per la query e 5.000 caratteri per la risposta.
Punteggi e soglie di confidenza
Il controllo contestuale del grounding genera punteggi di confidenza corrispondenti alla base e alla pertinenza per ogni risposta del modello elaborata in base alla fonte e alla query dell'utente fornite. È possibile configurare delle soglie per filtrare le risposte del modello in base ai punteggi generati. La soglia di filtraggio determina il punteggio di confidenza minimo consentito affinché la risposta del modello sia considerata fondata e pertinente nell'applicazione di intelligenza artificiale generativa. Ad esempio, se la soglia di base e la soglia di pertinenza sono entrambe impostate a 0,7, tutte le risposte del modello con un punteggio di base o di pertinenza inferiore a 0,7 verranno rilevate come allucinazioni e bloccate nella domanda. All'aumentare della soglia di filtraggio, aumenta la probabilità di bloccare contenuti non fondati e irrilevanti e diminuisce la probabilità di vedere contenuti allucinati nell'applicazione. È possibile configurare valori di soglia di messa a terra e pertinenza compresi tra 0 e 0,99. Una soglia pari a 1 non è valida in quanto bloccherà tutto il contenuto.
Il controllo contestuale della messa a terra richiede 3 componenti per eseguire il controllo: la fonte del grounding, la query e il contenuto da proteggere (o la risposta del modello). Questi sono configurati in modo diverso a seconda che si utilizzi Invoke, APIs Converse APIs, o ApplyGuardrail direttamente.
-
Grounding source: informazioni contestuali necessarie per rispondere a qualsiasi domanda degli utenti. Ad esempio, «Londra è la capitale del Regno Unito. Tokyo è la capitale del Giappone».
-
Interrogazione: una domanda che un utente può porre. Ad esempio, «Qual è la capitale del Giappone?».
-
Contenuto da proteggere: il testo da proteggere rispetto alla fonte e alla query di base. Per Invoke e Converse APIs, questa è la risposta del modello. Ad esempio, questo può essere «La capitale del Giappone è Tokyo».
Esempio infondato
-
Fonte principale: «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 è collegato in quanto non utilizza correttamente la fonte di base. Questo avrebbe un punteggio di base basso.
Esempio irrilevante
-
Fonte di partenza: «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 è fondato ma non pertinente. Utilizza informazioni provenienti dalla fonte di base ma non risponde alla domanda. Ciò avrebbe un punteggio di pertinenza basso.
Esempio infondato e irrilevante
-
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 è fondato e non è pertinente. Non utilizza informazioni provenienti dalla fonte di base né risponde alla domanda. Ciò avrebbe un punteggio di base e pertinenza basso.
Altri esempi
Prendi in considerazione un'applicazione bancaria progettata per rispondere a domande relative a commissioni e addebiti.
Fonte:
-
Non ci sono commissioni associate all'apertura di un conto corrente.
-
La tariffa mensile per la gestione di un conto corrente è di $10.
-
È prevista una commissione di transazione dell'1% per i trasferimenti internazionali.
-
Non ci sono costi associati ai trasferimenti nazionali.
-
Gli addebiti associati ai pagamenti tardivi delle fatture della carta di credito sono del 23,99%.
Sulla base della fonte precedente, possono esserci quattro scenari a seconda della richiesta dell'utente.
Fondato e pertinente
-
D: Quali sono le commissioni associate al conto corrente?
-
R: La tariffa mensile per la gestione di un conto corrente è di $10. Non ci sono costi associati ai trasferimenti nazionali. Tuttavia, è prevista una commissione di transazione dell'1% per i trasferimenti internazionali. Non ci sono commissioni associate all'apertura di un conto corrente.
Infondato ma pertinente
-
D: Qual è il costo di transazione associato alla carta di credito.
-
R: I costi di transazione associati alla carta di credito sono del 23,99%.
Fondato ma irrilevante
-
D: Quali sono i costi per l'utilizzo di un conto corrente bancario?
-
R: In base alle informazioni fornite, la commissione per i ritardi di pagamento per una carta di credito è del 23,99%.
Infondato e irrilevante
-
D: Quali sono i costi per l'utilizzo di un conto corrente bancario?
-
R: Le spese per il conto di intermediazione sono di 0,5$ per transazione di trading.
Argomenti
Chiamare il controllo contestuale del grounding con Invoke APIs
Per contrassegnare la sorgente di base e la query all'interno dell'input, forniamo 2 tag che funzionano allo stesso modo dei tag di input. Questi tag sono amazon-bedrock-guardrails-groundingSource_xyz
e amazon-bedrock-guardrails-query_xyz
supponendo che il suffisso del tag sia xyz. Per 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", }, }
Si noti che la risposta del modello è necessaria per eseguire il controllo di messa a terra contestuale e quindi il controllo verrà eseguito 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 applicherà tutte le politiche configurate sull'intero input, inclusi la sorgente di base e la query. Se vengono utilizzati i tag GuardContent, la politica contestuale di controllo del grounding esaminerà solo la fonte di base, la query e la risposta, mentre le politiche rimanenti esamineranno il contenuto all'interno dei tag GuardContent.
Chiamare il controllo contestuale del grounding con Converse APIs
Per contrassegnare la fonte del grounding e interrogare Converse APIs, usa il campo qualificatori in ogni blocco di contenuto di Guard. Per 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"], } } }, ], } ]
Si noti che la risposta del modello è necessaria per eseguire il controllo di messa a terra contestuale e quindi il controllo verrà eseguito solo sull'output e non sul prompt.
Se nessuno dei blocchi di contenuto è contrassegnato con il qualificatore guard_content, la politica di controllo contestuale del grounding esaminerà solo la fonte, la query e la risposta del grounding. Le politiche rimanenti seguiranno il comportamento di indagine predefinito: l'impostazione predefinita del prompt di sistema è non essere analizzata e quella dei messaggi è quella predefinita. Se, tuttavia, un blocco di contenuto è contrassegnato con il qualificatore guard_content, la politica contestuale di controllo del grounding esaminerà solo la fonte di base, la query e la risposta, mentre le politiche rimanenti esamineranno il contenuto contrassegnato con i tag GuardContent.
ApplyGuardrail Richiamo al controllo contestuale del grounding check con l'API
Usare contestual grounding check with ApplyGuardrail è simile a usarlo con Converse APIs. Per contrassegnare la fonte di base e la ricerca ApplyGuardrail, utilizza il campo qualificatori in ogni blocco di contenuto. Tuttavia, poiché un modello non viene richiamato con ApplyGuardrail, è necessario fornire anche un blocco di contenuto aggiuntivo con il contenuto da proteggere. Questo blocco di contenuto può essere facoltativamente qualificato con guard_content ed è equivalente alla risposta del modello in Invoke* o Converse*. APIs Per 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." } } ]
Si noti che la risposta del modello è necessaria per eseguire il controllo di messa a terra contestuale e quindi il controllo verrà eseguito solo sull'output e non sul prompt.
Se nessuno dei blocchi di contenuto è contrassegnato con il qualificatore guard_content, la politica di controllo contestuale del grounding esaminerà solo la fonte, la query e la risposta del grounding. Le politiche rimanenti seguiranno il comportamento di indagine predefinito: l'impostazione predefinita del prompt di sistema è non essere analizzata e quella dei messaggi è quella predefinita. Se, tuttavia, un blocco di contenuto è contrassegnato con il qualificatore guard_content, la politica contestuale di controllo del grounding esaminerà solo la fonte di base, la query e la risposta, mentre le politiche rimanenti esamineranno il contenuto contrassegnato con i tag GuardContent.
Per ulteriori informazioni sul controllo contestuale del grounding, consulta Utilizzare il controllo contestuale del grounding.