Pular para o conteúdo principal
Os Guardrails do AI Gateway são evaluators LLM-as-a-Judge e em Python que validam as solicitações e respostas que passam pelo gateway. Depois de criados, eles podem ser vinculados a Guardrail Rules para bloquear gerações fora de conformidade antes que cheguem ao chamador.

LLM Guardrail

Use um modelo para julgar as saídas com base em quaisquer critérios definidos em um prompt.

Python Guardrail

Escreva código Python personalizado para ter total flexibilidade: verificações com regex, validação de tamanho, chamadas HTTP ou validação de JSON schema.

Comportamento de execução

Defina cada Guardrail como Input, Output ou Both ao adicioná-lo a uma Guardrail Rule. Os Guardrails de entrada, incluindo o Secret Detection, são executados de forma síncrona sobre a entrada completa antes que o AI Gateway envie a solicitação ao modelo. O streaming não altera esse comportamento. Os Guardrails de saída são executados após a geração e antes da resposta em solicitações sem streaming.
Os Guardrails de saída não são executados em respostas em streaming. Um segredo pode se estender por vários chunks, portanto uma verificação chunk a chunk não consegue inspecionar a saída completa. Use uma solicitação sem streaming quando for necessário aplicar verificações na saída.

Chamadas de ferramentas

Uma chamada de ferramenta atendida por um MCP Gateway é verificada pelos Guardrails anexados a esse gateway, nos argumentos da ferramenta, no resultado da ferramenta ou em ambos, e pelos plugins do gateway. A chamada de ferramenta de um Agent também é regida pela aprovação de ferramenta configurada na ferramenta.

Tempo limite

No endpoint Responses, cada entrada do array guardrails[] de uma solicitação pode definir seu próprio timeout em milissegundos. Ele limita a execução dessa entrada e é independente do call_timeout no nível da solicitação, que limita apenas a chamada ao modelo. Consulte Tempos limite de solicitação. Uma entrada é executada como Guardrail bloqueante quando is_guardrail é true e, caso contrário, como Evaluator de monitoramento.
No endpoint Responses e no endpoint de chat completions compatível com a OpenAI, um Guardrail que excede seu timeout faz a solicitação falhar com HTTP 408 e error.code guardrail_timeout, junto com as demais falhas de Guardrail. Consulte Resposta de erro de guardrail. O endpoint de chat completions compatível com a OpenAI aceita o mesmo timeout em cada entrada do array guardrails[], mas rejeita valores fora do intervalo de 1000-600000 milissegundos com 400, em vez de usá-los literalmente.
Também é possível definir um tempo limite no Evaluator, em Guardrail configuration, de 1 a 120 segundos. Ele se aplica onde quer que o evaluator seja executado, incluindo as Guardrail Rules. Se uma solicitação também definir timeout, vale o menor valor.

LLM Guardrail

Os LLM Guardrails usam um modelo para julgar solicitações ou respostas com base em critérios definidos em um prompt. Abra Evaluators, clique em + Evaluator e selecione LLM-as-a-judge. Preencha os seguintes campos:

Configurar o prompt

Faça referência à execução avaliada com as seguintes variáveis string. Digite {{ no editor de prompt para escolher uma na lista completa. Consulte Formatos de variáveis estruturadas para ver os campos disponíveis ao indexar mensagens e chamadas de ferramentas.
As variáveis log.* continuam compatíveis, portanto os Guardrails existentes continuam funcionando. Prefira as variáveis acima nos novos.

Saída e configuração do guardrail

Selecione o tipo de saída e defina a condição de aprovação. O painel Guardrail configuration fica visível diretamente nas configurações.
O modelo retorna uma resposta True ou False. Use para verificações binárias de aprovação/reprovação.Condição de aprovação: selecione True ou False. O guardrail é aprovado quando o modelo retorna o valor selecionado.

Testes

O painel Playground oferece um Editor para testes. Preencha o payload manualmente:
Clique em Run test para executar o guardrail. O resultado aparece no campo Response.
A aba Dataset não está disponível para Guardrails.

Python Guardrail

Os Python Guardrails aceitam código Python personalizado para total flexibilidade na avaliação. A interface tem três painéis: Settings, Code e Playground.
O código Python é limitado a 1 MB (1.048.576 bytes) por guardrail: cerca de 1 milhão de caracteres, ou aproximadamente 20.000 linhas de Python típico. Códigos maiores retornam o erro Code exceeds maximum size e não são executados.
Abra Evaluators, clique em + Evaluator e selecione Python. A função de avaliação recebe um objeto log com os seguintes campos:
  • log["input"] <str>: a última mensagem enviada para gerar a saída
  • log["output"] <str>: a resposta gerada pelo modelo
  • log["reference"] <str>: a referência usada para comparar a saída
  • log["messages"] list<str>: todas as mensagens anteriores enviadas ao modelo
  • log["retrievals"] list<str>: todas as recuperações da Knowledge Base
A função deve retornar um Boolean ou um Number:
Para explicar um resultado, retorne um dict em vez de um valor simples: {"value": <value>, "explanation": <str>}. explanation é opcional, deve ser uma string e aparece como reason no painel Output do span do evaluator em Traces. Ele não altera a aprovação do guardrail. Um dict com qualquer outra chave é retornado como está, sem explicação.
Defina funções auxiliares em qualquer parte do código. O executor chama evaluate(log) pelo nome, portanto mantenha esse nome de função.

Ambiente e bibliotecas

O Python Guardrail é executado em Python 3.13 com as seguintes bibliotecas pré-carregadas:
Os dados do tokenizador punkt_tab do NLTK são pré-carregados, portanto nltk.word_tokenize() funciona sem baixar dados adicionais.

Configuração do guardrail

Defina a condição de aprovação com base no tipo de retorno:
  • Boolean: selecione True ou False. O guardrail é aprovado quando a função retorna o valor selecionado.
  • Number: insira um limite de pontuação. O guardrail é aprovado quando o valor retornado é maior ou igual ao limite.

Testes

O painel Playground oferece um Editor para testes. Preencha o payload manualmente e clique em Run test para executar o guardrail.
A aba Dataset não está disponível para Guardrails.

Versões

Clique em Publish para salvar as alterações. Escolha o tipo de incremento de versão:
  • Patch (por exemplo, v1.0.0 → v1.0.1): pequenas correções, sem mudança de comportamento
  • Minor (por exemplo, v1.0.0 → v1.1.0): nova funcionalidade, compatível com versões anteriores
  • Major (por exemplo, v1.0.0 → v2.0.0): mudança incompatível ou reformulação significativa
A aba Versions mostra o histórico completo, com o autor e a data e hora de publicação de cada versão.

Restaurar uma versão

Clique no ícone de comparação de qualquer versão na aba Versions para abrir Compare e, em seguida, clique em Restore ao lado de uma versão mais antiga para carregá-la no rascunho de trabalho atual. A restauração não publica automaticamente: o guardrail é carregado no rascunho como alterações não publicadas na aba Settings, e ainda é preciso clicar em Publish para que ele se torne uma versão de fato. As versões anteriores nunca são excluídas, portanto a restauração é sempre reversível.
Se já houver alterações não publicadas, uma caixa de diálogo pede confirmação antes de sobrescrevê-las.

Usar Guardrails

Os Guardrails criados aqui ficam disponíveis para seleção ao configurar Guardrail Rules. Para bloquear com base na decisão de um mecanismo de políticas ou de um provedor de terceiros, como Guardrails AI ou Lakera, consulte Guardrails externos.