Valuta selettivamente l'input dell'utente con i tag utilizzando Guardrails - 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à.

Valuta selettivamente l'input dell'utente con i tag utilizzando Guardrails

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

Ad esempio, il prompt di input nelle applicazioni RAG 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 da 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.

Contenuti con tag per Guardrails

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

{ "inputText": """ 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 di Guardrails utilizzando il tag. <amazon-bedrock-guardrails-guardContent_xyz> Nota che il prefisso amazon-bedrock-guardrails-guardContent è riservato a Guardrails.

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. Questo aiuta a mitigare i potenziali attacchi di prompt injection rendendo imprevedibile la struttura dei tag. Un tag statico può indurre un utente malintenzionato a chiudere il tag xml e ad aggiungere contenuti dannosi dopo la chiusura del tag, provocando un attacco di iniezione. Sei limitato ai caratteri alfanumerici con una lunghezza compresa tra 1 e 20 caratteri, inclusi. Con il suffisso di esempioxyz, è necessario racchiudere tutto il contenuto da proteggere utilizzando i tag xml con il suffisso:. e il 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 di Guardrails. 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 da 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.