Použití rozhraní API vlastních kategorií (Standard) (Preview)
Rozhraní API vlastních kategorií (standard) umožňuje vytvořit vlastní kategorie obsahu pro váš případ použití a vytrénovat zabezpečení obsahu Azure AI tak, aby je detekoval v novém obsahu.
Důležité
Tato funkce je dostupná jenom v určitých oblastech Azure. Viz Dostupnost oblastí.
Upozornění
Ukázková data v této příručce můžou obsahovat urážlivý obsah. Doporučuje se, aby uživatel rozhodoval.
Požadavky
- Předplatné Azure – Vytvoření předplatného zdarma
- Jakmile budete mít předplatné Azure, vytvořte na webu Azure Portal prostředek zabezpečení obsahu, abyste získali svůj klíč a koncový bod. Zadejte jedinečný název vašeho prostředku, vyberte předplatné a 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. Zkopírujte koncový bod a jednu z hodnot klíčů do dočasného umístění pro pozdější použití.
- Vytvořte také kontejner úložiště objektů blob v Azure, kde zachováte trénovací soubor poznámek.
- Nainstalujte jednu z následujících instalací:
- cURL pro volání rozhraní REST API.
- Nainstalovaný Python 3.x
Příprava trénovacích dat
Pokud chcete vytrénovat vlastní kategorii, potřebujete ukázková textová data představující kategorii, kterou chcete zjistit. Při přípravě ukázkových dat postupujte takto:
Shromážděte nebo zapište ukázková data:
- Kvalita ukázkových dat je důležitá pro trénování efektivního modelu. Snažte se shromáždit alespoň 50 pozitivních vzorků, které přesně představují obsah, který chcete identifikovat. Tyto ukázky by měly být jasné, různé a přímo související s definicí kategorie.
- Negativní vzorky nejsou povinné, ale můžou zlepšit schopnost modelu odlišit relevantní obsah od irelevantního obsahu. Pokud chcete zvýšit výkon, zaměřte se na 50 vzorků, které nesouvisejí s definicí pozitivního případu. Ty by se měly lišit, ale stále v kontextu obsahu, se kterým se váš model setká. Pečlivě vyberte záporné vzorky, abyste zajistili, že se neúmyslně nepřekrývají s pozitivní kategorií.
- Snažte se o rovnováhu mezi počtem kladných a záporných vzorků. Nerovnoměrná datová sada může model předsunout, což způsobí, že upřednostní jeden typ klasifikace oproti jinému, což může vést k vyšší míře falešně pozitivních nebo negativních výsledků.
K formátování dat v souboru .jsonl použijte textový editor. Níže je uveden příklad odpovídajícího formátu. Příklady kategorií by měly být nastaveny
isPositive
natrue
hodnotu . Negativní příklady jsou volitelné, ale můžou zlepšit výkon:{"text": "This is the 1st sample.", "isPositive": true} {"text": "This is the 2nd sample.", "isPositive": true} {"text": "This is the 3rd sample (negative).", "isPositive": false}
Nahrajte soubor .jsonl do kontejneru objektů blob účtu Azure Storage. Zkopírujte adresu URL objektu blob do dočasného umístění pro pozdější použití.
Udělení přístupu k úložišti
V dalším kroku potřebujete udělit vašemu prostředku zabezpečení obsahu přístup ke čtení z prostředku služby Azure Storage. Povolte spravovanou identitu přiřazenou systémem pro instanci Azure AI Content Safety a přiřaďte k identitě roli Přispěvatel dat objektů blob služby Storage nebo Vlastník :
Důležité
Pokračujte pouze přispěvatelem dat v objektech blob služby Storage nebo vlastníkem dat objektů blob služby Storage.
Povolte spravovanou identitu pro instanci Zabezpečení obsahu Azure AI.
Přiřaďte spravované identitě roli Přispěvatel dat objektů blob služby Storage nebo Vlastník . Všechny níže zvýrazněné role by měly fungovat.
Vytvoření a trénování vlastní kategorie
Důležité
Povolit dostatek času pro trénování modelu
Kompletní provádění vlastního trénování kategorií může trvat přibližně pět hodin až deset hodin. Podle toho naplánujte kanál moderování a přidělte čas pro:
- Shromažďování a příprava ukázkových dat
- Proces trénování
- Vyhodnocení a úpravy modelu
V následujícíchpříkazch <your_api_key>
<your_endpoint>
Pak zadejte každý příkaz v okně terminálu a spusťte ho.
Vytvoření nové verze kategorie
curl -X PUT "<your_endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-02-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json" \
-d "{
\"categoryName\": \"<your_category_name>\",
\"definition\": \"<your_category_definition>\",
\"sampleBlobUrl\": \"https://example.blob.core.windows.net/example-container/sample.jsonl\"
}"
Spusťte proces sestavení kategorie:
Po přijetí odpovědi uložte ID operace (označované jako id
) do dočasného. Toto ID potřebujete k načtení stavu sestavení pomocí rozhraní API pro získání stavu .
curl -X POST "<your_endpoint>/contentsafety/text/categories/<your_category_name>:build?api-version=2024-02-15-preview&version={version}" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Získejte stav sestavení kategorie:
Pokud chcete načíst stav, použijte id
získané z předchozí odpovědi rozhraní API a umístěte ho do cesty níže uvedeného rozhraní API.
curl -X GET "<your_endpoint>/contentsafety/text/categories/operations/<id>?api-version=2024-02-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Analýza textu s přizpůsobenou kategorií
Spuštěním následujícího příkazu analyzujte text s přizpůsobenou kategorií. Nahraďte <your_category_name>
vlastní hodnotou:
curl -X POST "<your_endpoint>/contentsafety/text:analyzeCustomCategory?api-version=2024-02-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json" \
-d "{
\"text\": \"Example text to analyze\",
\"categoryName\": \"<your_category_name>\",
\"version\": 1
}"
Další operace s vlastními kategoriemi
Nezapomeňte nahradit níže uvedené zástupné symboly skutečnými hodnotami klíče rozhraní API, koncového bodu a konkrétního obsahu (název kategorie, definice atd.). Tyto příklady vám pomůžou spravovat přizpůsobené kategorie ve vašem účtu.
Získání přizpůsobené kategorie nebo konkrétní verze
Zástupné symboly nahraďte vlastními hodnotami a v okně terminálu spusťte následující příkaz:
curl -X GET "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-02-15-preview&version=1" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Seznam kategorií jejich nejnovějších verzí
Zástupné symboly nahraďte vlastními hodnotami a v okně terminálu spusťte následující příkaz:
curl -X GET "<endpoint>/contentsafety/text/categories?api-version=2024-02-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Odstranění přizpůsobené kategorie nebo konkrétní verze
Zástupné symboly nahraďte vlastními hodnotami a v okně terminálu spusťte následující příkaz:
curl -X DELETE "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-02-15-preview&version=1" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"