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

Applicare 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 devono essere elaborati dai guardrail. Ciò è utile quando si desidera applicare guardrail a determinate parti dell’input, lasciando altre parti non elaborate.

Ad esempio, il prompt di input nelle applicazioni RAG può contenere prompt di sistema, risultati di ricerca provenienti da origini di documentazione attendibili e query degli utenti. Poiché i prompt di sistema vengono forniti dallo sviluppatore e i risultati di ricerca provengono da origini attendibili, potrebbe essere necessaria la valutazione dei guardrail solo sulle query degli utenti.

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

Utilizzando i tag di input, è possibile controllare meglio quali parti del prompt di input devono essere elaborate e valutate dai guardrail, 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.

Taggare il contenuto per i guardrail

Per taggare il contenuto da elaborare con i guardrail, utilizza il tag XML, una combinazione di un prefisso riservato e un elemento tagSuffix personalizzato. Ad 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, i contenuti “How many objects do I have in my S3 bucket?” e “How do I download files from my S3 bucket?” sono taggati per l’elaborazione dei guardrail utilizzando il tag <amazon-bedrock-guardrails-guardContent_xyz>. Il prefisso amazon-bedrock-guardrails-guardContent è riservato ai guardrail.

Suffisso di tag

Il suffisso di tag (xyz nell’esempio precedente) è un valore dinamico che è necessario fornire nel campo tagSuffix in amazon-bedrock-guardrailConfig per utilizzare il tagging di input. Si consiglia di utilizzare una nuova stringa casuale come tagSuffix per ogni richiesta. Questo aiuta a mitigare i potenziali attacchi di iniezione di prompt 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. Sussiste la limitazione per l’utilizzo di soli caratteri alfanumerici con una lunghezza compresa tra 1 e 20 caratteri inclusi. Con il suffisso di esempio xyz, è necessario racchiudere tutto il contenuto da proteggere utilizzando i tag XML con il suffisso: <amazon-bedrock-guardrails-guardContent_xyz>contenuto</amazon-bedrock-guardrails-guardContent_xyz>. Consigliamo di utilizzare un identificatore univoco dinamico per ogni richiesta come suffisso di tag.

Tag multipli

Puoi 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

Il contenuto senza tag di input non viene elaborato dai guardrail. Ciò ti consente di includere istruzioni, conversazioni di esempio, knowledge base o altri contenuti che ritieni sicuri e che non desideri vengano elaborati dai guardrail. Se non sono presenti tag nel prompt di input, i guardrail elaborano il prompt completo. L’unica eccezione è rappresentata dai filtri Rilevare attacchi tramite prompt con Guardrail per Amazon Bedrock, che richiedono la presenza di tag di input.