Použití seznamu blokovaných položek v Azure OpenAI
Konfigurovatelné filtry obsahu jsou dostatečné pro většinu požadavků na kon režim stanu ration. Možná ale budete muset filtrovat termíny specifické pro váš případ použití.
Požadavky
- Předplatné Azure. Vytvořte si ho zdarma.
- Jakmile budete mít předplatné Azure, vytvořte na webu Azure Portal prostředek Azure OpenAI, abyste získali token, klíč a koncový bod. Zadejte jedinečný název vašeho prostředku, vyberte předplatné, které jste zadali ve formuláři aplikace, vyberte skupinu prostředků, podporovanou oblast a podporovanou cenovou úroveň. Pak vyberte Vytvořit.
- Nasazení prostředku trvá několik minut. Po dokončení vyberte přejít k prostředku. V levém podokně v části Správa prostředků vyberte Klíč předplatného a koncový bod. Koncový bod a jeden z klíčů se používají k volání rozhraní API.
- Nainstalované rozhraní Azure CLI
- Nainstalovaný cURL
Použití seznamů blokovaných položek
Pomocí rozhraní API Azure OpenAI můžete vytvářet seznamy blokovaných adres. Následující kroky vám pomůžou začít.
Získání tokenu
Nejprve musíte získat token pro přístup k rozhraním API pro vytváření, úpravy a odstraňování seznamů blokovaných adres. Tento token můžete získat pomocí následujícího příkazu Azure CLI:
az account get-access-token
Vytvoření nebo úprava seznamu blokovaných položek
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
- Položku {subscriptionId} nahraďte ID vašeho předplatného.
- Položku {resourceGroupName} nahraďte názvem vaší skupiny prostředků.
- Položku {accountName} nahraďte názvem vašeho prostředku.
- Položku {raiBlocklistName} (v adrese URL) nahraďte vlastním názvem seznamu. Povolené znaky:
0-9, A-Z, a-z, - . _ ~
. - Nahraďte {token} tokenem, který jste získali z výše uvedeného kroku Získání tokenu.
- Volitelně nahraďte hodnotu pole "description" vlastním popisem.
curl --location --request PUT 'https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiBlocklists/{raiBlocklistName}?api-version=2024-03-01-preview' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"properties": {
"description": "This is a prompt blocklist"
}
}'
Kód odpovědi by měl být 201
(vytvořen nový seznam) nebo 200
(aktualizovaný existující seznam).
Použití seznamu blokovaných položek u filtru obsahu
Pokud jste ještě nevytvořili filtr obsahu, můžete to udělat v sadě Studio na kartě Filtry obsahu na levé straně. Pokud chcete použít seznam blokovaných položek, ujistěte se, že se tento filtr obsahu používá pro nasazení Azure OpenAI. Můžete to udělat na kartě Nasazení na levé straně.
Pokud chcete u filtru obsahu použít seznam blokovaných dokončení , použijte následující příkaz cURL:
- {subscriptionId} nahraďte svým dílčím ID.
- Položku {resourceGroupName} nahraďte názvem vaší skupiny prostředků.
- Položku {accountName} nahraďte názvem vašeho prostředku.
- Nahraďte {raiPolicyName} názvem filtru obsahu.
- Nahraďte {token} tokenem, který jste získali z výše uvedeného kroku Získání tokenu.
- V textu nahraďte "raiBlocklistName" vlastním názvem seznamu. Povolené znaky:
0-9, A-Z, a-z, - . _ ~
.
curl --location --request PUT 'https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiPolicies/{raiPolicyName}?api-version=2024-03-01-preview' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"properties": {
"basePolicyName": "Microsoft.Default",
"completionBlocklists": [{
"blocklistName": "raiBlocklistName",
"blocking": true
}],
"contentFilters": [ ]
}
}'
Přidání blockItems do seznamu
Poznámka:
V jednom seznamu je povolený maximální limit 10 000 termínů.
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
- {subscriptionId} nahraďte svým dílčím ID.
- Položku {resourceGroupName} nahraďte názvem vaší skupiny prostředků.
- Položku {accountName} nahraďte názvem vašeho prostředku.
- Položku {raiBlocklistName} (v adrese URL) nahraďte vlastním názvem seznamu. Povolené znaky:
0-9, A-Z, a-z, - . _ ~
. - Položku seznamu nahraďte názvem {raiBlocklistItemName} vlastním názvem.
- Nahraďte {token} tokenem, který jste získali z výše uvedeného kroku Získání tokenu.
- Nahraďte hodnotu
"blocking pattern"
pole položkou, kterou chcete přidat do seznamu blokovaných položek. Maximální délka blockItem je 1000 znaků. Určete také, jestli je vzor regulární výraz nebo přesná shoda.
curl --location --request PUT 'https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiBlocklists/{raiBlocklistName}/raiBlocklistItems/{raiBlocklistItemName}?api-version=2024-03-01-preview' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"properties": {
"pattern": "blocking pattern",
"isRegex": false
}
}'
Poznámka:
Přidání nového termínu do seznamu blokovaných může trvat přibližně 5 minut. Otestujte prosím po 5 minutách.
Kód odpovědi by měl být 200
.
{
"name": "raiBlocklistItemName",
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiBlocklists/raiBlocklistName/raiBlocklistItems/raiBlocklistItemName",
"properties": {
"pattern": "blocking pattern",
"isRegex": false
}
}
Analýza textu pomocí seznamu blokovaných položek
Teď můžete otestovat nasazení, které obsahuje seznam blokovaných položek. Nejjednodušší způsob, jak to udělat, je v Azure OpenAI Studiu. Pokud se obsah zablokoval buď při zobrazení výzvy, nebo dokončení, měla by se zobrazit chybová zpráva s oznámením, že se aktivoval systém filtrování obsahu.
Pokyny k volání koncových bodů Azure OpenAI najdete v rychlém startu.
V následujícím příkladu blokuje výzva nasazení GPT-35-Turbo se seznamem blokování. Odpověď vrátí 400
chybu.
{
"error": {
"message": "The response was filtered due to the prompt triggering Azure OpenAI’s content management policy. Please modify your prompt and retry. To learn more about our content filtering policies please read our documentation: https://go.microsoft.com/fwlink/?linkid=2198766",
"type": null,
"param": "prompt",
"code": "content_filter",
"status": 400,
"innererror": {
"code": "ResponsibleAIPolicyViolation",
"content_filter_result": {
"custom_blocklists": [
{
"filtered": true,
"id": "raiBlocklistName"
}
],
"hate": {
"filtered": false,
"severity": "safe"
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
}
}
Pokud je samotné dokončení zablokované, vrátí 200
se odpověď, protože dokončení se přeruší pouze při porovnávání obsahu seznamu blokovaných položek. Poznámky ukazují, že se seznam blokovaných položek shodoval.
{
"id": "chatcmpl-85NkyY0AkeBMunOjyxivQSiTaxGAl",
"object": "chat.completion",
"created": 1696293652,
"model": "gpt-35-turbo",
"prompt_filter_results": [
{
"prompt_index": 0,
"content_filter_results": {
"hate": {
"filtered": false,
"severity": "safe"
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
],
"choices": [
{
"index": 0,
"finish_reason": "content_filter",
"message": {
"role": "assistant"
},
"content_filter_results": {
"custom_blocklists": [
{
"filtered": true,
"id": "myBlocklistName"
}
],
"hate": {
"filtered": false,
"severity": "safe"
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
],
"usage": {
"completion_tokens": 75,
"prompt_tokens": 27,
"total_tokens": 102
}
}
Použití seznamů blokovaných položek v Nástroji Azure OpenAI Studio
V nástroji Azure OpenAI Studio můžete také vytvářet vlastní seznamy blokování v rámci konfigurací filtrování obsahu (Public Preview). Pokyny k vytváření vlastních filtrů obsahu najdete tady. Následující postup ukazuje, jak vytvořit vlastní seznamy blokovaných položek jako součást filtrů obsahu prostřednictvím nástroje Azure OpenAI Studio.
- V nabídce vlevo vyberte Filtry obsahu. Vyberte kartu Seznam blokovaných položek vedle karty Filtry obsahu. Pak vyberte Vytvořit seznam blokovaných položek.
- Vytvořte název seznamu blokovaných položek, přidejte popis a vyberte možnost Vytvořit seznam blokovaných položek.
- Po vytvoření vyberte vlastní seznam blokovaných položek a vyberte Přidat nový termín.
- Přidejte termín, který má být filtrován, a vyberte Přidat termín. Můžete také vytvořit regulární výraz.
- Každý termín v seznamu blokovaných položek můžete odstranit.
- Jakmile bude seznam blokovaných položek připravený, přejděte do části Filtry obsahu (Preview) a vytvořte novou vlastní konfiguraci filtru obsahu. Otevře se průvodce s několika komponentami zabezpečení obsahu AI. Další informace o konfiguraci hlavních filtrů a volitelných modelů najdete tady. Přejděte na Přidat seznam blokovaných položek (volitelné).
- Teď uvidíte všechny dostupné seznamy blokovaných položek. Existují dva typy seznamů blokování – seznamy blokovaných položek, které jste vytvořili, a předem připravené seznamy blokovaných seznamů, které Microsoft poskytuje, v tomto případě seznam blokovaných vulgárních výrazů (angličtina)
- Teď se můžete rozhodnout, které z dostupných seznamů blokovaných položek chcete zahrnout do konfigurace filtrování obsahu. V následujícím příkladu použijeme nástroj CustomBlocklist1, který jsme právě vytvořili. Posledním krokem je zkontrolovat a dokončit konfiguraci filtrování obsahu kliknutím na Další.
- Kdykoli se můžete vrátit a upravit konfiguraci. Jakmile bude připravený, vyberte v části Vytvořit filtr obsahu. Nová konfigurace, která obsahuje vaše seznamy blokovaných položek, se teď dá použít pro nasazení. Podrobné pokyny najdete tady.
Další kroky
Přečtěte si další informace o postupech zodpovědné umělé inteligence pro Azure OpenAI: Přehled zodpovědných postupů AI pro modely Azure OpenAI.
Přečtěte si další informace o kategoriích filtrování obsahu a úrovních závažnosti pomocí služby Azure OpenAI.
Přečtěte si další informace o červeném seskupování z našeho článku: Úvod do červeného seskupování velkých jazykových modelů (LLMs).