Controllo contestuale della messa a terra - Amazon Bedrock

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à.

Controllo contestuale della messa a terra

Guardrails for Amazon Bedrock 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, al parafrasamento o agli agenti conversazionali che si basano su una fonte di riferimento, come i pass recuperati in RAG o la cronologia delle conversazioni per gli agenti per fondare le conversazioni.

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.

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 utilizzino le API Invoke, le API Converse o direttamente. ApplyGuardrail

  • 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».

  • Query: 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 le API Invoke e Converse, questa è la risposta del modello. Ad esempio, 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 proteggere - «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.

Chiamare il controllo di base contestuale con le API Invoke

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.

Richiamo al controllo contestuale del grounding con le API di Converse

Per contrassegnare la fonte di base e la query per le API Converse, utilizza il campo qualifiers 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"], } } }, ], } ]

Nota che la risposta del modello è necessaria per eseguire il controllo contestuale del grounding 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

L'utilizzo di contextual grounding check with ApplyGuardrail è simile all'utilizzo con le API di Converse. Per contrassegnare la fonte di base e la query per 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 nelle API Invoke* o Converse*. 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.