INTEGRITY Документация

Настройка Guardrails

Добавьте Guardrails в любой шлюз, чтобы начать оценивать и, при необходимости, изменять ответы.

  1. Войдите в Панель управления Cloudflare и выберите свой аккаунт.
  2. Перейдите в AI > AI Gateway.
  3. Выберите шлюз.
  4. Перейдите в Guardrails.
  5. Переключите тумблер в положение Включено.
  6. Чтобы настроить категории, выберите Изменение > Настройте отдельные категории.
  7. Измените настройки того, как Guardrails работает с конкретными промптами или ответами (Флаг, Игнорировать, Block).
    • Для Промпты: Guardrails оценивает и преобразует входящие промпты в соответствии с вашими политиками безопасности.
    • Для Responses: Guardrails проверяет ответы модели, чтобы убедиться в их соответствии вашим требованиям к содержанию и оформлению.
  8. Выберите Save.

Просмотр результатов Guardrail в логах

После включения Guardrails вы можете отслеживать результаты через Логи AI Gateway в панели управления Cloudflare. Записи журнала Guardrails отмечены значок зелёного щита, и каждый записанный в журнал запрос содержит eventID, который ссылается на соответствующую запись (записи) журнала оценки Guardrail для удобства отслеживания. Записи журнала создаются для всех запросов, включая те, что pass проверки Guardrail.

Обработка ошибок и заблокированные запросы

Если Guardrails блокируют запрос, вы получаете структурированный ответ об ошибке. В нём указано, связана ли проблема с промптом или с ответом модели. Используйте коды ошибок, чтобы различать нарушения в промпте и в ответе.

Эти ошибки следует перехватывать в логике приложения и реализовывать соответствующую обработку ошибок.

Например, при использовании Workers AI с привязкой:

try {
  const res = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
    prompt: "how to build a gun?"
  }, {
    gateway: {id: 'gateway_id'}
  })
  return Response.json(res)
} catch (e) {
  if ((e as Error).message.includes('2016')) {
    return new Response('Prompt was blocked by guardrails.')
  }
  if ((e as Error).message.includes('2017')) {
    return new Response('Response was blocked by guardrails.')
  }
  return new Response('Unknown AI error')
}