Avalie seletivamente a entrada do usuário com tags usando Guardrails - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Avalie seletivamente a entrada do usuário com tags usando Guardrails

As tags de entrada permitem que você marque conteúdo específico dentro do texto de entrada que você deseja que seja processado pelo Guardrails. Isso é útil quando você deseja aplicar Guardrails a determinadas partes da entrada, deixando outras partes não processadas.

Por exemplo, a solicitação de entrada em aplicativos RAG pode conter solicitações do sistema, resultados de pesquisa de fontes de documentação confiáveis e consultas de usuários. Como as solicitações do sistema são fornecidas pelo desenvolvedor e os resultados da pesquisa vêm de fontes confiáveis, talvez você precise apenas da avaliação do Guardrails somente nas consultas do usuário.

Em outro exemplo, a solicitação de entrada em aplicativos de conversação pode conter solicitações do sistema, histórico de conversas e a entrada atual do usuário. Os prompts do sistema são instruções específicas do desenvolvedor, e o histórico de conversas contém informações históricas do usuário e respostas do modelo que podem já ter sido avaliadas pelo Guardrails. Para esse cenário, talvez você queira avaliar apenas a entrada atual do usuário.

Ao usar tags de entrada, você pode controlar melhor quais partes do prompt de entrada devem ser processadas e avaliadas pelo Guardrails, garantindo que suas proteções sejam personalizadas para seus casos de uso. Isso também ajuda a melhorar o desempenho e reduzir custos, pois você tem a flexibilidade de avaliar uma seção relativamente mais curta e relevante da entrada, em vez de toda a solicitação de entrada.

Conteúdo da tag para Guardrails

Para marcar conteúdo para o Guardrails processar, use a tag XML que é uma combinação de um prefixo reservado e um personalizado. tagSuffix Por exemplo: .

{ "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" } }

No exemplo anterior, o conteúdo `Quantos objetos eu tenho no meu bucket do S3? `e "“Como faço para baixar arquivos do meu bucket do S3? “ é marcado para processamento de Guardrails usando a tag. <amazon-bedrock-guardrails-guardContent_xyz> Observe que o prefixo amazon-bedrock-guardrails-guardContent é reservado pela Guardrails.

Sufixo da tag

O sufixo da tag (xyzno exemplo anterior) é um valor dinâmico que você deve fornecer no tagSuffix campo amazon-bedrock-guardrailConfig para usar a marcação de entrada. Isso ajuda a mitigar possíveis ataques de injeção imediata, tornando a estrutura da tag imprevisível. Uma tag estática pode fazer com que um usuário mal-intencionado feche a tag xml e acrescente conteúdo malicioso após o fechamento da tag, resultando em um ataque de injeção. Você está limitado a caracteres alfanuméricos com um comprimento entre 1 e 20 caracteres, inclusive. Com o sufixo de exemploxyz, você deve incluir todo o conteúdo a ser protegido usando as tags xml com seu sufixo:<amazon-bedrock-guardrails-guardContent_xyz>. e seu conteúdo. </amazon-bedrock-guardrails-guardContent_xyz> Recomendamos usar uma dinâmica UUID para cada solicitação como sufixo de tag.

Várias tags

Você pode usar a mesma estrutura de tags várias vezes no texto de entrada para marcar diferentes partes do conteúdo para processamento do Guardrails. O aninhamento de etiquetas não é permitido.

Conteúdo não marcado

Qualquer conteúdo fora das tags de entrada não será processado pelo Guardrails. Isso permite que você inclua instruções, exemplos de conversas, bases de conhecimento ou outro conteúdo que você considere seguro e que não queira ser processado pelo Guardrails. Se não houver tags no prompt de entrada, o prompt completo será processado pelo Guardrails. A única exceção são Ataques imediatos os filtros que exigem a presença de tags de entrada.