INTEGRITY Dokumentace

Detekce nebezpečných a vlastních témat

AI Security for Apps dokáže detekovat, když se LLM prompt dotýká nebezpečných nebo nežádoucích témat. Existují dvě vrstvy detekce témat:

Výchozí nebezpečná témata

Když je AI Security for Apps zapnuté, automaticky vyhodnocuje prompty vůči sadě výchozích kategorií nebezpečných témat a naplňuje dvě pole:

Výchozí kategorie nebezpečných témat

Kategorie Popis
S1 Násilné trestné činy
S2 Nenásilné trestné činy
S3 Sexuálně motivované trestné činy
S4 Sexuální zneužívání dětí
S5 Pomluva
S6 Specializované poradenství
S7 Soukromí
S8 Duševní vlastnictví
S9 Nerozlišující zbraně
S10 Nenávist
S11 Sebevražda a sebepoškozování
S12 Sexuální obsah
S13 Volby
S14 Zneužití interpretu kódu

Vlastní témata

Detekce vlastních témat vám umožňuje definovat vlastní témata, vůči nimž AI Security for Apps skóruje každý prompt. Tato skóre pak můžete použít v vlastní pravidla nebo pravidla rate limitingu k blokování, vystavení challenge nebo logování požadavků na základě skóre relevance, které definujete.

Tato funkce používá zero-shot klasifikační model který vyhodnocuje prompty za běhu. Není potřeba žádné trénování modelu.

Jak fungují vlastní témata

  1. Definujete seznam až 20 vlastních témat. Každé téma se skládá z:
    • Štítek: Krátký identifikátor se spojovníky používaný ve výrazech pravidel a analytice (například financial-advice).
    • Popis tématu: Popisný text, který model používá ke klasifikaci promptů (například seeking financial advice).
  2. Když požadavek dorazí na cf-llm označený endpoint, model vyhodnotí prompt vůči všem definovaným popisům témat a pro každé vrátí skóre relevance.
  3. Skóre se zapisují do cf.llm.prompt.custom_topic_categories mapové pole klíčované podle štítku. Ve výrazech pravidel a analytice používáte štítky (nikoli popisy témat).

Definice vlastních témat

Vlastní témata můžete spravovat ze dvou míst v dashboardu:

  1. Stránka Security Settings: Přejděte na Security > Settings a vyhledejte AI Security for Apps sekci. V části Vlastní témata, vyberte Manage topics k přidání, úpravě nebo odebrání témat.
  2. Boční panel Expression Builderu: Při vytváření nebo úpravě vlastní pravidlo, vyberte LLM Custom topic (pole). Poté vyberte Správa vlastních témat k otevření postranního panelu, kde můžete spravovat témata, aniž byste opustili stránku vytváření pravidla.

Obě metody aktualizují stejný podkladový seznam témat. Změny provedené v jedné se okamžitě projeví v druhé.

  1. V Cloudflare dashboardu přejděte na Security Settings stránku.

    Přejděte na Settings ↗

    Případně přejděte na stránka pro vytváření vlastních pravidel, vyberte LLM Custom topic pole a vyberte Správa vlastních témat pro otevření bočního panelu.

  2. Téma přidáte zadáním:

    • Štítek: Krátký identifikátor se spojovníky (například competitors).
    • Popis tématu: Popisná anglická fráze, kterou model používá ke klasifikaci (například seeking info on competitors).
  3. Vyberte Save.

Svůj seznam vlastních témat aktualizujete pomocí PUT požadavek:

curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/ai-security/custom-topics" \
  --request PUT \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --json '{
    "topics": [
      {
        "label": "competitors",
        "topic": "seeking info on competitors"
      },
      {
        "label": "financial-advice",
        "topic": "seeking financial advice"
      },
      {
        "label": "hr-internal",
        "topic": "asking about internal HR policies"
      }
    ]
  }'

Svá aktuální témata získáte pomocí GET požadavek:

curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/ai-security/custom-topics" \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Omezení

Parametr Limit
Maximální počet témat 20
Délka řetězce tématu 2–50 tisknutelných ASCII znaků
Délka labelu 2–20 znaků
Formát labelu Malá písmena, číslice a pomlčky (-) pouze

Osvědčené postupy pro definování vlastních témat

Kvalita detekce vlastních témat závisí na tom, jak napíšete popisy témat. Podkladovým modelem je zero-shot klasifikátor, který porovnává sémantický význam promptu s vaším popisem tématu.

Nejdůležitější je popsat záměr uživatele, nikoli jen téma.

Začněte záměrem

Model provádí sémantickou klasifikaci, nikoli porovnávání klíčových slov. Popisy témat, které zachycují, o co uživatel pokouší udělat jsou výrazně přesnější než popisy, které pouze pojmenovávají tematickou oblast. Krátká slovesná fráze (3–6 slov) je obvykle nejlepším kompromisem mezi přesností a pokrytím.

Porovnejte, jak si stejné dva popisy témat vedou proti dvěma promptům, které oba zmiňují finance, ale s velmi odlišným záměrem:

Popis tématu Prompt: "Mám své úspory investovat do indexových fondů?" Prompt: "Náš finanční tým právě dokončil report za Q3."
financial advice (pouze podstatné jméno) Shody Také odpovídá. Objevuje se slovo "finance", přestože nikdo nežádá o radu
seeking financial advice (fráze záměru) Shody Správně ignorováno. Zmiňuje finance, ale nemá záměr žádat o radu

Příklad: competitors

Kvalita Popis tématu Proč
Nejlepší seeking info on competitors Zachycuje záměr. Spustí se, jen když se uživatelé aktivně ptají na konkurenci
Okay Acme Corp, Banana Co, Candy & Sons Funguje pro známé názvy, ale míjí nejmenované konkurenty a zachytává i letmé zmínky
Nevhodné other companies Příliš vágní. Odpovídá téměř jakémukoli promptu, který zmiňuje firmu

Příklad: financial-advice

Kvalita Popis tématu Proč
Nejlepší seeking financial advice Řízeno záměrem. Odpovídá uživatelům žádajícím o radu, ignoruje pasivní zmínky o financích
Okay securities and investments Rozumný rozsah tématu, ale spouští se i na zpravodajských článcích a faktických zmínkách, nejen při hledání rad
Nevhodné finance Extrémně široké. Odpovídá téměř všemu od vyúčtování výdajů po dotazy na ceny

Další osvědčené postupy

Příklady vlastních témat

Štítek Popis tématu
competitors seeking info on competitors
financial-advice seeking financial advice
legal-advice asking for legal or regulatory advice
sensitive-data requesting passwords or API keys
job-seeking asking about job openings or careers
bias comparing demographic groups as better or worse