Använda en blockeringslista

Varning

Exempeldata i den här guiden kan innehålla stötande innehåll. Användarens diskretion rekommenderas.

Ai-standardklassificerarna räcker för de flesta kon režim šatora rationsbehov. Du kan dock behöva skärma för objekt som är specifika för ditt användningsfall. Med blocklistor kan du lägga till anpassade termer i AI-klassificerarna. Du kan använda blocklistor för att söka efter specifika termer eller fraser som du vill flagga i ditt innehåll.

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt
  • När du har din Azure-prenumeration skapar du en Innehållssäkerhetsresurs i Azure-portalen 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 (se Regiontillgänglighet) och prisnivå 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. Slutpunkten och någon av nycklarna används för att anropa API:er.
  • Något av följande installerat:
    • cURL för REST API-anrop.
    • Python 3.x installerat
      • Python-installationen bör innehålla pip. Du kan kontrollera om du har pip installerat genom att köra pip --version på kommandoraden. Hämta pip genom att installera den senaste versionen av Python.
      • Om du använder Python måste du installera Azure AI Content Safety-klientbiblioteket för Python. Kör kommandot pip install azure-ai-contentsafety i projektkatalogen.
    • .NET Runtime installerat.
      • .NET Core SDK installerat.
      • Om du använder .NET måste du installera Azure AI Content Safety-klientbiblioteket för .NET. Kör kommandot dotnet add package Azure.AI.ContentSafety --prerelease i projektkatalogen.

Skapa miljövariabler

I det här exemplet skriver du dina autentiseringsuppgifter till miljövariabler på den lokala dator som kör programmet.

Om du vill ange miljövariabeln för din nyckel och slutpunkt öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.

  • Om du vill ange CONTENT_SAFETY_KEY miljövariabeln ersätter du YOUR_CONTENT_SAFETY_KEY med en av nycklarna för resursen.
  • Om du vill ange CONTENT_SAFETY_ENDPOINT miljövariabeln ersätter du YOUR_CONTENT_SAFETY_ENDPOINT med slutpunkten för resursen.

Viktigt!

Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.

Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

När du har lagt till miljövariablerna kan du behöva starta om alla program som körs som läser miljövariablerna, inklusive konsolfönstret.

Analysera text med en blockeringslista

Du kan skapa blocklistor som ska användas med text-API:et. Följande steg hjälper dig att komma igång.

Skapa eller ändra en blockeringslista

Kopiera cURL-kommandot nedan till en textredigerare och gör följande ändringar:

  1. Ersätt <endpoint> med slutpunkts-URL:en.
  2. Ersätt <enter_your_key_here> med din nyckel.
  3. Ersätt <your_list_name> (i URL:en) med ett anpassat namn för listan. Ersätt även den sista termen för REST-URL:en med samma namn. Tillåtna tecken: 0-9, A-Z, a-z, - . _ ~.
  4. Du kan också ersätta värdet för fältet "description" med en anpassad beskrivning.
curl --location --request PATCH '<endpoint>/contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "description": "This is a violence list"
}'

Svarskoden ska vara 201(skapa en ny lista) eller 200(uppdatera en befintlig lista).

Lägg till blocklistItems i listan

Kommentar

Det finns en maximal gräns på totalt 10 000 termer i alla listor. Du kan lägga till högst 100 blocklistItems i en begäran.

Kopiera cURL-kommandot nedan till en textredigerare och gör följande ändringar:

  1. Ersätt <endpoint> med slutpunkts-URL:en.
  2. Ersätt <enter_your_key_here> med din nyckel.
  3. Ersätt <your_list_name> (i URL:en) med det namn som du använde i listskapandesteget.
  4. Du kan också ersätta värdet för fältet "description" med en anpassad beskrivning.
  5. Ersätt värdet för fältet "text" med det objekt som du vill lägga till i blocklistan. Den maximala längden på en blocklistItem är 128 tecken.
curl --location --request POST '<endpoint>/contentsafety/text/blocklists/<your_list_name>:addOrUpdateBlocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '"blocklistItems": [{
    "description": "string",
    "text": "bleed"
}]'

Dricks

Du kan lägga till flera blocklistItems i ett API-anrop. Gör begärandetexten till en JSON-matris med datagrupper:

{
   "blocklistItems": [
       {
           "description": "string",
           "text": "bleed"
       },
       {
           "description": "string",
           "text": "blood"
       }
   ]
}

Svarskoden ska vara 200.

{
"blocklistItems:"[
  {
  "blocklistItemId": "string",
  "description": "string",
  "text": "bleed"
  
   }
 ]
}

Kommentar

Det blir en viss fördröjning efter att du har lagt till eller redigerat en blockItem innan den börjar gälla för textanalys, vanligtvis inte mer än fem minuter.

Analysera text med en blockeringslista

Kopiera cURL-kommandot nedan till en textredigerare och gör följande ändringar:

  1. Ersätt <endpoint> med slutpunkts-URL:en.
  2. Ersätt <enter_your_key_here> med din nyckel.
  3. Ersätt <your_list_name> med det namn som du använde i steget för att skapa listan. Fältet "blocklistNames" kan innehålla en matris med flera list-ID:t.
  4. Du kan också ändra värdet "breakByBlocklists"för . true anger att när en blocklista har matchats returneras analysen omedelbart utan modellutdata. false kommer att göra att modellen fortsätter att göra analys i standardkategorierna.
  5. Du kan också ändra värdet för fältet "text" till den text som du vill analysera.
curl --location --request POST '<endpoint>/contentsafety/text:analyze?api-version=2023-10-01&' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "text": "I want to beat you till you bleed",
  "categories": [
    "Hate",
    "Sexual",
    "SelfHarm",
    "Violence"
  ],
  "blocklistNames":["<your_list_name>"],
  "haltOnBlocklistHit": false,
  "outputType": "FourSeverityLevels"
}'

JSON-svaret innehåller en "blocklistMatchResults" som anger eventuella matchningar med din blocklista. Den rapporterar platsen i textsträngen där matchningen hittades.

{
  "blocklistsMatch": [
    {
      "blocklistName": "string",
      "blocklistItemId": "string",
      "blocklistItemText": "bleed"
    }
  ],
  "categoriesAnalysis": [
    {
      "category": "Hate",
      "severity": 0
    }
  ]
}

Andra blocklisteåtgärder

Det här avsnittet innehåller fler åtgärder som hjälper dig att hantera och använda funktionen blocklist.

Visa en lista över alla blocklistItems i en lista

Kopiera cURL-kommandot nedan till en textredigerare och gör följande ändringar:

  1. Ersätt <endpoint> med slutpunkts-URL:en.
  2. Ersätt <enter_your_key_here> med din nyckel.
  3. Ersätt <your_list_name> (i begärande-URL:en) med det namn som du använde i listskapandesteget.
curl --location --request GET '<endpoint>/contentsafety/text/blocklists/<your_list_name>/blocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'

Statuskoden ska vara 200 och svarstexten bör se ut så här:

{
 "values": [
  {
   "blocklistItemId": "string",
   "description": "string",
   "text": "bleed",
  }
 ]
}

Visa en lista över alla blocklistor

Kopiera cURL-kommandot nedan till en textredigerare och gör följande ändringar:

  1. Ersätt <endpoint> med slutpunkts-URL:en.
  2. Ersätt <enter_your_key_here> med din nyckel.
curl --location --request GET '<endpoint>/contentsafety/text/blocklists?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'

Statuskoden ska vara 200. JSON-svaret ser ut så här:

"value": [
  {
    "blocklistName": "string",
    "description": "string"
  }
]

Hämta en blocklista efter blocklistName

Kopiera cURL-kommandot nedan till en textredigerare och gör följande ändringar:

  1. Ersätt <endpoint> med slutpunkts-URL:en.
  2. Ersätt <enter_your_key_here> med din nyckel.
  3. Ersätt <your_list_name> (i begärande-URL:en) med det namn som du använde i listskapandesteget.
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''

Statuskoden ska vara 200. JSON-svaret ser ut så här:

{
  "blocklistName": "string",
  "description": "string"
}

Hämta en blocklistItem efter blocklistName och blocklistItemId

Kopiera cURL-kommandot nedan till en textredigerare och gör följande ändringar:

  1. Ersätt <endpoint> med slutpunkts-URL:en.
  2. Ersätt <enter_your_key_here> med din nyckel.
  3. Ersätt <your_list_name> (i begärande-URL:en) med det namn som du använde i listskapandesteget.
  4. Ersätt <your_item_id> med ID-värdet för blocklistItem. Det här är värdet för "blocklistItemId" fältet från API-anropen Add blocklistItem eller Get all blocklistItems .
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>/blocklistItems/<your_item_id>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''

Statuskoden ska vara 200. JSON-svaret ser ut så här:

{
  "blocklistItemId": "string",
  "description": "string",
  "text": "string"
}
  1. Ersätt <your_list_name> med det namn som du använde i steget för att skapa listan.
  2. Ersätt <your_block_item_id> med ID:t för det objekt som du vill hämta.
  3. Kör skriptet.

Ta bort blocklistItems från en blocklista.

Kommentar

Det blir en viss fördröjning efter att du har tagit bort ett objekt innan det börjar gälla för textanalys, vanligtvis inte mer än fem minuter.

Kopiera cURL-kommandot nedan till en textredigerare och gör följande ändringar:

  1. Ersätt <endpoint> med slutpunkts-URL:en.
  2. Ersätt <enter_your_key_here> med din nyckel.
  3. Ersätt <your_list_name> (i begärande-URL:en) med det namn som du använde i listskapandesteget.
  4. Ersätt <item_id> med ID-värdet för blocklistItem. Det här är värdet för "blocklistItemId" fältet från API-anropen Add blocklistItem eller Get all blocklistItems .
curl --location --request DELETE '<endpoint>/contentsafety/text/blocklists/<your_list_name>:removeBlocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'
--data-raw '"blocklistItemIds":[
    "<item_id>"
]'

Dricks

Du kan ta bort flera blocklistItems i ett API-anrop. Gör begärandetexten till en matris med blocklistItemId värden.

Svarskoden ska vara 204.

Ta bort en lista och allt dess innehåll

Kommentar

Det blir en viss fördröjning efter att du har tagit bort en lista innan den börjar gälla för textanalys, vanligtvis inte mer än fem minuter.

Kopiera cURL-kommandot nedan till en textredigerare och gör följande ändringar:

  1. Ersätt <endpoint> med slutpunkts-URL:en.
  2. Ersätt <enter_your_key_here> med din nyckel.
  3. Ersätt <your_list_name> (i begärande-URL:en) med det namn som du använde i listskapandesteget.
curl --location --request DELETE '<endpoint>/contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \

Svarskoden ska vara 204.

Nästa steg

Mer information om API:erna som används i den här guiden finns i API-referensdokumentationen.