Applica tag all'input dell'utente per filtrare i contenuti - 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à.

Applica tag all'input dell'utente per filtrare i contenuti

I tag di input consentono di contrassegnare contenuti specifici all'interno del testo di input che si desidera vengano elaborati dai guardrail. Ciò è utile quando si desidera applicare dei guardrail a determinate parti dell'input, lasciando altre parti non elaborate.

Ad esempio, il prompt di input nelle RAG applicazioni può contenere istruzioni di sistema, risultati di ricerca provenienti da fonti di documentazione attendibili e domande degli utenti. Poiché le istruzioni di sistema vengono fornite dallo sviluppatore e i risultati della ricerca provengono da fonti attendibili, potrebbe essere necessaria la valutazione di guardrails solo sulle query degli utenti.

In un altro esempio, il prompt di input nelle applicazioni conversazionali può contenere istruzioni di sistema, cronologia delle conversazioni e l'input corrente dell'utente. I prompt di sistema sono istruzioni specifiche per gli sviluppatori e la cronologia delle conversazioni contiene lo storico degli input degli utenti e le risposte dei modelli che potrebbero essere già state valutate da guardrails. In uno scenario del genere, potresti voler valutare solo l'input corrente dell'utente.

Utilizzando i tag di input, è possibile controllare meglio quali parti del prompt di input devono essere elaborate e valutate dai guardrails, assicurando che le protezioni siano personalizzate in base ai casi d'uso. Ciò aiuta anche a migliorare le prestazioni e a ridurre i costi, poiché si ha la flessibilità necessaria per valutare una sezione relativamente più breve e pertinente dell'input, anziché l'intero prompt di input.

Contrassegna il contenuto dei tag per i guardrail

Per etichettare i contenuti da elaborare nei guardrail, usa il XML tag che è una combinazione di un prefisso riservato e uno personalizzato. tagSuffix Per esempio:

{ "text": """ You are a helpful assistant. Here is some information about my account: - There are 10,543 objects in an S3 bucket. - There are no active EC2 instances. Based on the above, answer the following question: Question: <amazon-bedrock-guardrails-guardContent_xyz> How many objects do I have in my S3 bucket? </amazon-bedrock-guardrails-guardContent_xyz> ... Here are other user queries: <amazon-bedrock-guardrails-guardContent_xyz> How do I download files from my S3 bucket? </amazon-bedrock-guardrails-guardContent_xyz> """, "amazon-bedrock-guardrailConfig": { "tagSuffix": "xyz" } }

Nell'esempio precedente, il contenuto `Quanti oggetti ho nel mio bucket S3? `e "«Come faccio a scaricare file dal mio bucket S3? » è etichettato per l'elaborazione dei guardrail utilizzando il tag. <amazon-bedrock-guardrails-guardContent_xyz> Nota che il prefisso amazon-bedrock-guardrails-guardContent è riservato ai guardrail.

Suffisso del tag

Il suffisso del tag (xyznell'esempio precedente) è un valore dinamico che è necessario fornire nel tagSuffix campo in amazon-bedrock-guardrailConfig per utilizzare i tag di input. Si consiglia di utilizzare una nuova stringa casuale tagSuffix per ogni richiesta. Questo aiuta a mitigare i potenziali attacchi di prompt injection rendendo imprevedibile la struttura dei tag. Un tag statico può far sì che un utente malintenzionato chiuda il XML tag e aggiunga contenuti dannosi dopo la chiusura del tag, provocando un attacco di iniezione. L'utente è limitato ai caratteri alfanumerici con una lunghezza compresa tra 1 e 20 caratteri, inclusi. Con il suffisso di esempioxyz, devi racchiudere tutto il contenuto da proteggere utilizzando i XML tag con il tuo suffisso:. e il tuo contenuto. <amazon-bedrock-guardrails-guardContent_xyz> </amazon-bedrock-guardrails-guardContent_xyz> Ti consigliamo di utilizzare una dinamica UUID per ogni richiesta come suffisso di tag

Tag multipli

È possibile utilizzare la stessa struttura di tag più volte nel testo di input per contrassegnare diverse parti del contenuto per l'elaborazione dei guardrail. L'annidamento dei tag non è consentito.

Contenuto senza tag

Qualsiasi contenuto al di fuori dei tag di input non verrà elaborato da guardrails. Ciò ti consente di includere istruzioni, conversazioni di esempio, basi di conoscenza o altri contenuti che ritieni sicuri e che non desideri vengano elaborati dai guardrails. Se non ci sono tag nella richiesta di input, la richiesta completa verrà elaborata da guardrails. L'unica eccezione sono Attacchi rapidi i filtri che richiedono la presenza di tag di input.

Puoi provare l'etichettatura di input nel riquadro di test del tuo guardrail seguendo questi passaggi:

  1. Stai accedendo al pannello di test del tuo guardrail (questo metodo non è supportato per i playground di testo o di chat, ma solo per il pannello di test guardrails).

  2. Usa il suffisso del tag di input predefinito per il parco giochi. playground

VIOLENT STATEMENT: I think I could fight a grizzly bear. <amazon-bedrock-guardrails-guardContent_playground BENIGN INPUT: How's the weather? </amazon-bedrock-guardrails-guardContent_playground

Il tuo guardrail verrà eseguito solo sul contenuto compreso tra i tag di input.