← Cloudflare AI Gateway / ai-gateway / features / guardrails
Настройка Guardrails
Добавьте Guardrails в любой шлюз, чтобы начать оценивать и, при необходимости, изменять ответы.
- Войдите в Панель управления Cloudflare ↗ и выберите свой аккаунт.
- Перейдите в AI > AI Gateway.
- Выберите шлюз.
- Перейдите в Guardrails.
- Переключите тумблер в положение Включено.
- Чтобы настроить категории, выберите Изменение > Настройте отдельные категории.
- Измените настройки того, как Guardrails работает с конкретными промптами или ответами (Флаг, Игнорировать, Block).
- Для Промпты: Guardrails оценивает и преобразует входящие промпты в соответствии с вашими политиками безопасности.
- Для Responses: Guardrails проверяет ответы модели, чтобы убедиться в их соответствии вашим требованиям к содержанию и оформлению.
- Выберите Save.
Просмотр результатов Guardrail в логах
После включения Guardrails вы можете отслеживать результаты через Логи AI Gateway в панели управления Cloudflare. Записи журнала Guardrails отмечены значок зелёного щита, и каждый записанный в журнал запрос содержит eventID, который ссылается на соответствующую запись (записи) журнала оценки Guardrail для удобства отслеживания. Записи журнала создаются для всех запросов, включая те, что pass проверки Guardrail.
Обработка ошибок и заблокированные запросы
Если Guardrails блокируют запрос, вы получаете структурированный ответ об ошибке. В нём указано, связана ли проблема с промптом или с ответом модели. Используйте коды ошибок, чтобы различать нарушения в промпте и в ответе.
-
Промпт заблокирован
"code": 2016"message": "Prompt blocked due to security configurations"
-
Ответ заблокирован
"code": 2017"message": "Response blocked due to security configurations"
Эти ошибки следует перехватывать в логике приложения и реализовывать соответствующую обработку ошибок.
Например, при использовании 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')
}