AI Security for Apps(前身为 Firewall for AI)可为每个传入的 LLM 提示词提供预估的 token 数量。这让您能够监控提示词大小,对过长的提示词设置限制,并跟踪跨您的 AI 端点的 token 使用情况。
当 AI Security for Apps 处理对标记为 cf-llm 的端点的请求时,它会计算提示词内容的近似 token 数量。结果可在 LLM Token count (cf.llm.prompt.token_count) 字段中获取,您可以在规则表达式中引用该字段并在分析中进行查看。
设置硬阈值来阻止超过一定估计 token 数量的提示词。这可以防止过大的输入到达您的模型。
-
当传入请求匹配时:
在编辑器中输入以下表达式:
(cf.llm.prompt.token_count gt 4000) -
操作:Block
创建一个速率限制规则,该规则限制单个客户端在时间窗口内可以发送的大型提示词的数量。这有助于防止攻击者发送过长的提示词来消耗模型资源的滥用行为。
在编辑器中输入以下规则表达式:
(cf.llm.prompt.token_count gt 2000)
将速率设置为(例如)每 IP 每分钟 10 个请求,操作为 Block 或 Managed Challenge。
以同时显示出提示词注入迹象的大型提示词为目标——这是一种常见的模式,攻击者会在冗长的上下文中填充注入尝试。
示例规则表达式:
(cf.llm.prompt.token_count gt 3000 and cf.llm.prompt.injection_score lt 50)
- 仅限估计。 token 数量是一个一般近似值。您的模型实际消耗的 token 可能会因模型的分词器而异。
- 仅限输入 token。 token 数量反映的是传入的提示词。它不会预估输出或响应的 token。
- 仅限提取的提示词。 token 数量是根据从请求体中提取的提示词文本计算得出的。Cloudflare 使用针对主要 LLM 提供商的一组已知 JSON 路径来提取提示词。当无法提取提示词时,Cloudflare 会使用完整的请求体作为后备。在这些情况下,token 数量将反映完整的请求体。