Dela via


Snabbstart: Anpassade kategorier (standardläge) (förhandsversion)

Följ den här guiden om du vill använda REST API för Azure AI Content Safety Custom-kategorier (standard) för att skapa egna innehållskategorier för ditt användningsfall och träna Azure AI Content Safety att identifiera dem i nytt textinnehåll.

Mer information om anpassade kategorier finns på konceptsidan Anpassade kategorier. För API-indatabegränsningar, se avsnittet Indatakrav i översikten.

Viktigt!

Den här funktionen är endast tillgänglig i vissa Azure-regioner. Se Regiontillgänglighet.

Viktigt!

Ge tillräckligt med tid för modellträning

Körningen av anpassad kategoriträning från slutpunkt till slutpunkt kan ta mellan fem och tio timmar. Planera modereringspipelinen i enlighet med detta.

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt
  • När du har din Azure-prenumeration skapar du en Content Safety-resurs i Azure Portal för att hämta din nyckel och slutpunkt. Ange ett unikt namn för resursen, välj din prenumeration och välj en resursgrupp, region som stöds och prisnivån som stöds. Välj sedan Skapa.
    • Det tar några minuter att distribuera resursen. När den är klar väljer du Gå till resurs. I den vänstra rutan under Resurshantering väljer du Prenumerationsnyckel och Slutpunkt. Kopiera slutpunkten och något av nyckelvärdena till en tillfällig plats för senare användning.
  • Skapa också en Azure Blob Storage-container där du behåller din utbildningsanteckningsfil.
  • Något av följande installerat:

Förbereda dina träningsdata

För att träna en anpassad kategori behöver du exempeltextdata som representerar den kategori som du vill identifiera. I den här guiden kan du använda exempeldata. Den angivna anteckningsfilen innehåller textuppvisningar om överlevnadsråd i camping-/vildmarkssituationer. Den tränade modellen lär sig att identifiera den här typen av innehåll i nya textdata.

Dricks

Tips om hur du skapar en egen datamängd finns i guiden Instruktioner.

  1. Ladda ned exempeltextdatafilen från GitHub-lagringsplatsen.
  2. Ladda upp .jsonl-filen till din Azure Storage-kontoblobcontainer. Kopiera sedan blob-URL:en till en tillfällig plats för senare användning.

Viktigt!

Användarens lagringskonto konfigureras som ett hierarkiskt namnområdeskonto, som inte kan stödjas av anpassade kategorier. Prova att använda ett vanligt lagringskonto i stället. Din blob-URL kan till exempel inte delas upp i två lager, till exempel/exempel1/, och bör bara ha ett lager. Mer information finns i dokumentationen: Hierarkiskt namnområde för Azure Data Lake Storage – Azure Storage.

Bevilja lagringsåtkomst

Därefter måste du ge innehållssäkerhetsresursen åtkomst till att läsa från Azure Storage-resursen. Aktivera systemtilldelad hanterad identitet för Azure AI Content Safety-instansen och tilldela rollen storage blobdatadeltagare/ägare till identiteten:

Viktigt!

Endast Storage Blob Data Contributor eller Storage Blob Data Owner är giltiga roller för att fortsätta.

  1. Aktivera hanterad identitet för Azure AI Content Safety-instansen.

    Skärmbild av Azure Portal aktivering av hanterad identitet.

  2. Tilldela rollen Storage Blob Data Contributor/Owner till den hanterade identiteten. Alla roller som är markerade nedan bör fungera.

    Skärmbild av skärmen Lägg till rolltilldelning i Azure Portal.

    Skärmbild av tilldelade roller i Azure Portal.

    Skärmbild av den hanterade identitetsrollen.

Skapa och träna en anpassad kategori

I kommandot nedan ersätter <your_api_key>du , <your_endpoint>och andra nödvändiga parametrar med dina egna värden. Ange sedan varje kommando i ett terminalfönster och kör det.

Skapa ny kategoriversion

curl -X PUT "<your_endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json" \
     -d "{
            \"categoryName\": \"survival-advice\",
            \"definition\": \"text prompts about survival advice in camping/wilderness situations\",
            \"sampleBlobUrl\": \"https://<your-azure-storage-url>/example-container/survival-advice.jsonl\"
        }"

Dricks

Varje gång du ändrar kategorinamn, definition eller exempel skapas en ny version. Du kan använda versionsnumret för att spåra tillbaka till tidigare versioner. Kom ihåg det här versionsnumret eftersom det kommer att krävas i URL:en för nästa steg– anpassade kategorier för träning.

API-begäran

Fält Beskrivning Exempelvärde
categoryName Namnet på kategorin eller ämnet som begäran avser. överlevnadsråd
definition En kort beskrivning av innehållstypen för kategorin. text frågar om överlevnad råd i camping / vildmark situationer
sampleBlobUrl URL för att komma åt en JSONL-exempelfil som innehåller dataexempel för kategorin. Länk

API-svar

Fält Beskrivning Exempelvärde
categoryName Namnet på kategorin eller ämnet som svaret relaterar till. överlevnadsråd
definition En kort beskrivning av innehållstypen för kategorin. text frågar om överlevnad råd i camping / vildmark situationer
sampleBlobUrl URL för att komma åt en JSONL-exempelfil som innehåller dataexempel för kategorin. Länk
sampleBlobSnapshotUrl Url för ögonblicksbild av JSONL-exempelfilen, som ger åtkomst till en specifik version av data. URL för ögonblicksbild
version Versionsnumret för kategoridata. 1
createdTime Tidsstämpel när kategoridata skapades. 2024-10-28T22:06:59.4626988Z
status Aktuell status för kategoridatabearbetningen. Klart

Starta kategorigenereringsprocessen:

Ersätt <your_api_key> och <your_endpoint> med dina egna värden och lägg även till versionsnumret i url:en som du hämtade från det senaste steget. Tillåt tillräckligt med tid för modellträning: körningen från slutpunkt till slutpunkt för anpassad kategoriträning kan ta mellan fem och tio timmar. Planera modereringspipelinen i enlighet med detta. När du har fått svaret lagrar du åtgärds-ID:t (kallas id) på en tillfällig plats. Det här ID:t krävs för att hämta byggstatusen med hjälp av API:et Hämta status i nästa avsnitt.

curl -X POST "<your_endpoint>/contentsafety/text/categories/survival-advice:build?api-version=2024-09-15-preview&version={version}" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

API-svar

Fält Beskrivning Exempelvärde
operation id Unik identifierare för att hämta byggstatusen b6c69dc1-2338-484e-85a5b-xxxxxxxxxxxx
status Aktuell status för begäran Klart

Hämta status för kategoriversion:

Om du vill hämta statusen använder du det id som hämtades från det tidigare API-svaret och placerar det i sökvägen till API:et nedan.

curl -X GET "<your_endpoint>/contentsafety/text/categories/operations/<id>?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

API-svar

Fält Beskrivning Exempelvärde
operation id Unik identifierare för att hämta byggstatusen b6c69dc1-2338-484e-855b-xxxxxxxxxxxx
status Aktuell status för begäran Klart

Analysera text med en anpassad kategori

Kör följande kommando för att analysera text med din anpassade kategori. Ersätt <your_api_key> och <your_endpoint> med dina egna värden.

curl -X POST "<your_endpoint>/contentsafety/text:analyzeCustomCategory?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json" \
     -d "{
            \"text\": \"<Example text to analyze>\",
            \"categoryName\": \"survival-advice\", 
            \"version\": 1
        }"

API-begäran

Fält beskrivning
text Textinnehållet eller meddelandet som är avsett för kategoriidentifiering
categoryName Namnet på kategorin som texten syftar till att identifieras under
version Versionsnummer för kategorin

API-svar

Fält Beskrivning Exempelvärde
customCategoryAnalysis Objekt som innehåller analysresultatet för kategorin.
detected Anger om den angivna kategorin har identifierats. falskt

Andra åtgärder för anpassade kategorier

Kom ihåg att ersätta platshållarna nedan med dina faktiska värden för API-nyckeln, slutpunkten och specifikt innehåll (kategorinamn, definition och så vidare). De här exemplen hjälper dig att hantera de anpassade kategorierna i ditt konto.

Hämta en anpassad kategori eller en specifik version av den

Ersätt platshållarna med dina egna värden och kör följande kommando i ett terminalfönster:

curl -X GET "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview&version=1" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

Lista kategorier för de senaste versionerna

Ersätt platshållarna med dina egna värden och kör följande kommando i ett terminalfönster:

curl -X GET "<endpoint>/contentsafety/text/categories?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

Ta bort en anpassad kategori eller en specifik version av den

Ersätt platshållarna med dina egna värden och kör följande kommando i ett terminalfönster:

curl -X DELETE "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview&version=1" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"