ai-lakera-guard
ai-lakera-guard 插件通过 Lakera Guard API 筛查 AI 流量,以检测提示词注入、越狱(jailbreak)及其他不安全内容。根据 direction 设置,它可以在请求提示词到达 LLM 之 前对其进行扫描,在 LLM 响应(包括流式响应)到达客户端之前对其进行扫描,或同时扫描两者。
当内容被标记时,插件会拦截该流量;或在告警模式下放行该流量并仅记录判定结果。决定何种内容会被标记的策略(即检测器及其阈值的集合)在你的 Lakera 项目中配置。
该插件在 3.9 系列中自 API7 企业版 3.9.16 起可用,在 3.10 系列中自 3.10.2 起可用,并将从 APISIX 3.18.0 起提供。
工作原理
ai-lakera-guard 插件必须与同一路由上的 ai-proxy 或 ai-proxy-multi 插件一起使用,因为它扫描的是这些插件所代理的 AI 流量。
对于每个请求,插件会将对话消息(在扫描响应时,还包括组装后的 LLM 响应)发送到 Lakera Guard 端点,并使用 api_key 作为 Bearer Token 进行认证。当判定结果为已标记时:
- 当
action设置为block(默认值)时,流量将被拒绝。默认情况下deny_code为200,因此客户端会收到一个与提供商兼容的补全,其内容为失败消息(request_failure_message或response_failure_message)。将deny_code设置为4xx值可改为返回 HTTP 错误。 - 当
action设置为alert时,流量将原样放行,并记录判定结果。这在正式实施某个策略之前评估该策略时很有用。
如果对 Lakera Guard 的调用失败或超时,fail_open 控制流量是被拦截(默认)还是被放行。