Udostępnij przez


Wymuszanie kontroli bezpieczeństwa zawartości na żądaniach LLM

DOTYCZY: Developer | Podstawowa | Podstawowa wersja 2 | Standardowa | Standardowa wersja 2 | Premium | Premium wersja 2

Zasady llm-content-safety wymuszają sprawdzanie bezpieczeństwa zawartości dla żądań dużych modeli językowych (LLM) (monitów) poprzez przesłanie ich do usługi Bezpieczeństwa zawartości Azure AI przed wysłaniem do interfejsu API zaplecza LLM. Gdy zasady są włączone, a bezpieczeństwo zawartości usługi Azure AI wykrywa złośliwą 403 zawartość, usługa API Management blokuje żądanie i zwraca kod błędu.

Uwaga

Kategorie ikategorie używane w usłudze API Management są synonimami kategorii szkód i szkód w usłudze Azure AI Content Safety. Szczegółowe informacje można znaleźć na stronie Bezpieczeństwo zawartości usługi Azure AI.

Użyj zasad w scenariuszach, takich jak:

  • Blokuj żądania zawierające wstępnie zdefiniowane kategorie szkodliwej zawartości lub mowy nienawiści
  • Stosowanie niestandardowych list zablokowanych, aby uniemożliwić wysyłanie określonej zawartości
  • Ochrona przed komunikatami zgodnymi ze wzorcami ataków

Uwaga

Ustaw elementy zasad i elementy podrzędne w kolejności podanej w oświadczeniu zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.

Wymagania wstępne

  • Zasób bezpieczeństwa zawartości sztucznej inteligencji platformy Azure .
  • Zaplecze usługi API Management skonfigurowane do kierowania wywołań interfejsu API bezpieczeństwa zawartości i uwierzytelniania w usłudze Azure AI Content Safety:
    • Tożsamość zarządzana usługi API Management musi być skonfigurowana w usłudze Azure AI Content Safety service z rolą użytkownika usług Cognitive Services.
    • Adres URL zaplecza bezpieczeństwa zawartości usługi Azure AI, do których odwołuje się backend-id w llm-content-safety zasadach, musi mieć postać https://<content-safety-service-name>.cognitiveservices.azure.com.
    • Poświadczenia autoryzacji zaplecza bezpieczeństwa zawartości usługi Azure AI muszą być ustawione na tożsamość zarządzaną włączoną z dokładnym identyfikatorem https://cognitiveservices.azure.comzasobu .

Oświadczenie polityki

<llm-content-safety backend-id="name of backend entity" shield-prompt="true | false" enforce-on-completions="true | false">
    <categories output-type="FourSeverityLevels | EightSeverityLevels">
        <category name="Hate | SelfHarm | Sexual | Violence" threshold="integer" />
        <!-- If there are multiple categories, add more category elements -->
        [...]
    </categories>
    <blocklists>
        <id>blocklist-identifier</id>
        <!-- If there are multiple blocklists, add more id elements -->
        [...]
    </blocklists>
</llm-content-safety>

Atrybuty

[No changes needed]) Opis Wymagane Wartość domyślna
identyfikator zaplecza Identyfikator (nazwa) zaplecza usługi Azure AI Content Safety do kierowania wywołań interfejsu API bezpieczeństwa zawartości. Wyrażenia zasad są dozwolone. Tak N/A
shield-prompt Jeśli ustawiono wartość true, zawartość jest sprawdzana pod kątem ataków użytkowników. W przeciwnym razie pomiń to sprawdzanie. Wyrażenia zasad są dozwolone. Nie. false
wymuszanie po zakończeniu Jeśli ustawiono truewartość , testy bezpieczeństwa zawartości są wymuszane po zakończeniu czatu w celu weryfikacji odpowiedzi. W przeciwnym razie pomiń to sprawdzanie. Wyrażenia zasad są dozwolone. Nie. false

Pierwiastki

Składnik Opis Wymagane
kategorie Lista elementów określających category ustawienia blokowania żądań po wykryciu kategorii. Nie.
listy blokowe Lista elementów listy blokadid z instancji usługi Azure AI Content Safety, dla których wykrycie powoduje zablokowanie żądania. Wyrażenia zasad są dozwolone. Nie.

atrybuty kategorii

[No changes needed]) Opis Wymagane Wartość domyślna
typ danych wyjściowych Określa, w jaki sposób zwracane są poziomy surowości przez usługę Bezpieczeństwo Zawartości Azure AI. Atrybut musi mieć jedną z następujących wartości.

- FourSeverityLevels: Ważność danych wyjściowych na czterech poziomach: 0,2,4,6.
- EightSeverityLevels: Ważność danych wyjściowych na ośmiu poziomach: 0,1,2,3,4,5,6,7.

Wyrażenia zasad są dozwolone.
Nie. FourSeverityLevels

atrybuty kategorii

[No changes needed]) Opis Wymagane Wartość domyślna
nazwa Określa nazwę tej kategorii. Atrybut musi mieć jedną z następujących wartości: Hate, , SelfHarmSexual, Violence. Wyrażenia zasad są dozwolone. Tak N/A
próg Określa wartość progową dla tej kategorii, w której żądanie jest blokowane. Żądania o ważności zawartości mniejsze niż próg nie są blokowane. Wartość musi należeć do zakresu od 0 (najbardziej restrykcyjne) do 7 (najmniej restrykcyjne). Wyrażenia zasad są dozwolone. Tak N/A

Użycie

Uwagi dotyczące użycia

  • Zasady polegają na połączeniu całej zawartości tekstowej w żądaniu ukończenia lub żądaniu ukończenia czatu.
  • Jeśli żądanie przekroczy limit znaków bezpieczeństwa zawartości usługi Azure AI, 403 zwracany jest błąd.
  • Ta polityka może być używana wiele razy w ramach definicji polityki.

Przykład

Poniższy przykład wymusza sprawdzanie bezpieczeństwa zawartości na żądaniach LLM przy użyciu usługi Azure AI Content Safety. Polityka blokuje żądania zawierające mowę w kategorii Hate lub Violence z poziomem surowości 4 lub wyższym. Innymi słowy, filtr umożliwia kontynuowanie poziomów 0–3, natomiast poziomy 4–7 są blokowane. Podniesienie progu kategorii zwiększa tolerancję i potencjalnie zmniejsza liczbę zablokowanych żądań. Obniżenie progu obniża tolerancję i potencjalnie zwiększa liczbę zablokowanych żądań. Atrybut shield-prompt jest skonfigurowany na true w celu sprawdzania pod kątem ataków adwersjalnych.

<policies>
    <inbound>
        <llm-content-safety backend-id="content-safety-backend" shield-prompt="true">
            <categories output-type="EightSeverityLevels">
                <category name="Hate" threshold="4" />
                <category name="Violence" threshold="4" />
            </categories>
        </llm-content-safety>
    </inbound>
</policies>

Aby uzyskać więcej informacji na temat pracy z politykami, zobacz: