跳转到内容
搜索文档

Token 统计

最后更新 查看 MarkdownAgent 设置

AI Security for Apps(前身为 Firewall for AI)可为每个传入的 LLM 提示词提供预估的 token 数量。这让您能够监控提示词大小,对过长的提示词设置限制,并跟踪跨您的 AI 端点的 token 使用情况。

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 个请求,操作为 BlockManaged Challenge

将 token 数量与其他检测相结合

以同时显示出提示词注入迹象的大型提示词为目标——这是一种常见的模式,攻击者会在冗长的上下文中填充注入尝试。

示例规则表达式:
(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 数量将反映完整的请求体。

这篇文档对您有帮助吗?