Snabbstart: Analysera textinnehåll

Kom igång med Content Valv ty Studio, REST API eller klient-SDK:er för att utföra grundläggande textmoderering. Tjänsten Azure AI Content Valv ty tillhandahåller AI-algoritmer för att flagga stötande innehåll. Följ de här stegen för att prova.

Kommentar

Exempeldata och kod kan innehålla stötande innehåll. Användarens diskretion rekommenderas.

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt
  • När du har din Azure-prenumeration skapar du en content Valv ty-resurs 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 (USA, östra eller Europa, västra) 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. Slutpunkten och någon av nycklarna används för att anropa API:er.
  • cURL installerat

Analysera textinnehåll

I följande avsnitt går vi igenom en exempelbegäran med cURL. Klistra in kommandot nedan i en textredigerare och gör följande ändringar.

  1. Ersätt <endpoint> med slutpunkts-URL:en som är associerad med resursen.
  2. Ersätt <your_subscription_key> med en av nycklarna som medföljer resursen.
  3. Du kan också ersätta fältet "text" i brödtexten med din egen text som du vill analysera.

    Dricks

    Textstorlek och kornighet

    Den maximala standardlängden för textöverföringar är 10 000 tecken.

curl --location --request POST '<endpoint>/contentsafety/text:analyze?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "text": "I hate you",
  "categories": [
   "Hate","Sexual","SelfHarm","Violence"
  ]
   "blocklistNames": [
      "string"
    ],
   "haltOnBlocklistHit": true,
   "outputType": "FourSeverityLevels"
}'

Fälten nedan måste inkluderas i URL:en:

Namn Obligatoriskt Beskrivning Typ
API-version Obligatoriskt Det här är DEN API-version som ska kontrolleras. Den aktuella versionen är: api-version=2023-10-01. Exempel: <endpoint>/contentsafety/text:analyze?api-version=2023-10-01 String

Parametrarna i begärandetexten definieras i den här tabellen:

Namn Obligatoriskt Beskrivning Typ
text Obligatoriskt Det här är den råa text som ska kontrolleras. Andra tecken som inte är ascii-tecken kan inkluderas. String
Kategorier Valfritt Detta antas vara en matris med kategorinamn. Se guiden Skadekategorier för en lista över tillgängliga kategorinamn. Om inga kategorier anges används alla fyra kategorierna. Vi använder flera kategorier för att få poäng i en enda begäran. String
blocklistNames Valfritt Namn på textblockeringslista. Stöder endast följande tecken: 0-9 A-Z a-z - . _ ~. Du kan bifoga flera listnamn här. Matris
haltOnBlocklistHit Valfritt När värdet är inställt truepå utförs inte ytterligare analyser av skadligt innehåll i de fall då blocklistor träffas. När värdet falseär inställt på utförs alla analyser av skadligt innehåll, oavsett om blocklistor nås eller inte. Booleskt
outputType Valfritt "FourSeverityLevels" eller "EightSeverityLevels". Utdata allvarlighetsgrad i fyra eller åtta nivåer, kan värdet vara 0,2,4,6 eller 0,1,2,3,4,5,6,7. String

Se följande exempel på begärandetext:

{
  "text": "I hate you",
  "categories": [
   "Hate","Sexual","SelfHarm","Violence"
  ],
  "blocklistNames": [
    "array"
  ],
  "haltOnBlocklistHit": false,
  "outputType": "FourSeverityLevels"
}

Öppna ett kommandotolksfönster och kör kommandot cURL.

Tolka API-svaret

Du bör se textmodereringsresultatet som visas som JSON-data i konsolens utdata. Till exempel:

{
  "blocklistsMatch": [
    {
      "blocklistName": "string",
      "blocklistItemId": "string",
      "blocklistItemText": "string"
    }
  ],
  "categoriesAnalysis": [
        {
            "category": "Hate",
            "severity": 2
        },
        {
            "category": "SelfHarm",
            "severity": 0
        },
        {
            "category": "Sexual",
            "severity": 0
        },
        {
            "category": "Violence",
            "severity": 0
  ]
}

JSON-fälten i utdata definieras här:

Name beskrivning Typ
categoriesAnalysis Varje utdataklass som API:et förutsäger. Klassificering kan vara flera etiketter. När ett textexempel till exempel körs genom textmodereringsmodellen kan det klassificeras som både sexuellt innehåll och våld. Skadekategorier String
Allvarlighetsgrad Ju högre allvarlighetsgrad indatainnehållet är, desto större är det här värdet. Integer

Referensdokumentation NuGet-exempel (Library Source Code | Package) | |

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt
  • Visual Studio IDE med arbetsbelastningen .NET Desktop-utveckling aktiverad. Eller om du inte planerar att använda Visual Studio IDE behöver du den aktuella versionen av .NET Core.
  • När du har din Azure-prenumeration skapar du en content Valv ty-resurs 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 (USA, östra eller Europa, västra) 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. Slutpunkten och någon av nycklarna används för att anropa API:er.

Konfigurera program

Skapa ett nytt C#-program.

Öppna Visual Studio och under Kom igång väljer du Skapa ett nytt projekt. Ange mallfiltren till C#/Alla plattformar/konsol. Välj Konsolapp (kommandoradsprogram som kan köras på .NET i Windows, Linux och macOS) och välj Nästa. Uppdatera projektnamnet till Content Valv tyQuickstart och välj Nästa. Välj .NET 6.0 eller senare och välj Skapa för att skapa projektet.

Installera klient-SDK

När du har skapat ett nytt projekt installerar du klient-SDK genom att högerklicka på projektlösningen i Solution Explorer och välja Hantera NuGet-paket. I pakethanteraren som öppnas väljer du Bläddra och söker Azure.AI.ContentSafetyefter . Välj Installera.

Skapa miljövariabler

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

Dricks

Inkludera inte nyckeln direkt i koden och publicera den aldrig offentligt. Mer autentiseringsalternativ som Azure Key Vault finns i säkerhetsartikeln för Azure AI-tjänster.

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.

  1. Om du vill ange CONTENT_SAFETY_KEY miljövariabeln ersätter du YOUR_CONTENT_SAFETY_KEY med en av nycklarna för resursen.
  2. Om du vill ange CONTENT_SAFETY_ENDPOINT miljövariabeln ersätter du YOUR_CONTENT_SAFETY_ENDPOINT med slutpunkten för resursen.
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 textinnehåll

Öppna filen Program.cs som skapades tidigare från projektkatalogen. Klistra in följande kod:

using System;
using Azure.AI.ContentSafety;

namespace Azure.AI.ContentSafety.Dotnet.Sample
{
  class ContentSafetySampleAnalyzeText
  {
    public static void AnalyzeText()
    {
      // retrieve the endpoint and key from the environment variables created earlier
      string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
      string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");

      ContentSafetyClient client = new ContentSafetyClient(new Uri(endpoint), new AzureKeyCredential(key));

      string text = "Your input text";

      var request = new AnalyzeTextOptions(text);

      Response<AnalyzeTextResult> response;
      try
      {
          response = client.AnalyzeText(request);
      }
      catch (RequestFailedException ex)
      {
          Console.WriteLine("Analyze text failed.\nStatus code: {0}, Error code: {1}, Error message: {2}", ex.Status, ex.ErrorCode, ex.Message);
          throw;
      }

      Console.WriteLine("\nAnalyze text succeeded:");
      Console.WriteLine("Hate severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.Hate)?.Severity ?? 0);
      Console.WriteLine("SelfHarm severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.SelfHarm)?.Severity ?? 0);
      Console.WriteLine("Sexual severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.Sexual)?.Severity ?? 0);
      Console.WriteLine("Violence severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.Violence)?.Severity ?? 0);

    }
    static void Main()
    {
        AnalyzeText();
    }
  }
}

Ersätt "Your input text" med det textinnehåll som du vill använda.

Dricks

Textstorlek och kornighet

Den maximala standardlängden för textöverföringar är 10 000 tecken.

Skapa och kör programmet genom att välja Starta felsökning från felsökningsmenyn överst i IDE-fönstret (eller tryck på F5).

Exempel på källkodspaket (PyPI) | för referensdokumentation | | |

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt
  • När du har din Azure-prenumeration skapar du en content Valv ty-resurs 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 (USA, östra eller Europa, västra) 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. Slutpunkten och någon av nycklarna används för att anropa API:er.
  • Python 3.x
    • 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.

Skapa miljövariabler

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

Dricks

Inkludera inte nyckeln direkt i koden och publicera den aldrig offentligt. Mer autentiseringsalternativ som Azure Key Vault finns i säkerhetsartikeln för Azure AI-tjänster.

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.

  1. Om du vill ange CONTENT_SAFETY_KEY miljövariabeln ersätter du YOUR_CONTENT_SAFETY_KEY med en av nycklarna för resursen.
  2. Om du vill ange CONTENT_SAFETY_ENDPOINT miljövariabeln ersätter du YOUR_CONTENT_SAFETY_ENDPOINT med slutpunkten för resursen.
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 textinnehåll

I följande avsnitt går vi igenom en exempelbegäran med Python SDK.

  1. Öppna en kommandotolk, navigera till projektmappen och skapa en ny fil med namnet quickstart.py.

  2. Kör det här kommandot för att installera Azure AI Content Valv ty-biblioteket:

    pip install azure-ai-contentsafety
    
  3. Kopiera följande kod till quickstart.py:

    import os
    from azure.ai.contentsafety import ContentSafetyClient
    from azure.core.credentials import AzureKeyCredential
    from azure.core.exceptions import HttpResponseError
    from azure.ai.contentsafety.models import AnalyzeTextOptions, TextCategory
    
    def analyze_text():
        # analyze text
        key = os.environ["CONTENT_SAFETY_KEY"]
        endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
    
        # Create an Azure AI Content Safety client
        client = ContentSafetyClient(endpoint, AzureKeyCredential(key))
    
        # Contruct request
        request = AnalyzeTextOptions(text="Your input text")
    
        # Analyze text
        try:
            response = client.analyze_text(request)
        except HttpResponseError as e:
            print("Analyze text failed.")
            if e.error:
                print(f"Error code: {e.error.code}")
                print(f"Error message: {e.error.message}")
                raise
            print(e)
            raise
    
        hate_result = next(item for item in response.categories_analysis if item.category == TextCategory.HATE)
        self_harm_result = next(item for item in response.categories_analysis if item.category == TextCategory.SELF_HARM)
        sexual_result = next(item for item in response.categories_analysis if item.category == TextCategory.SEXUAL)
        violence_result = next(item for item in response.categories_analysis if item.category == TextCategory.VIOLENCE)
    
        if hate_result:
            print(f"Hate severity: {hate_result.severity}")
        if self_harm_result:
            print(f"SelfHarm severity: {self_harm_result.severity}")
        if sexual_result:
            print(f"Sexual severity: {sexual_result.severity}")
        if violence_result:
            print(f"Violence severity: {violence_result.severity}")
    
    if __name__ == "__main__":
        analyze_text()
    
  4. Ersätt "Your input text" med det textinnehåll som du vill använda.

    Dricks

    Textstorlek och kornighet

    Den maximala standardlängden för textöverföringar är 10 000 tecken.

  5. Kör sedan programmet med python kommandot på snabbstartsfilen.

    python quickstart.py
    

Referensdokumentation Exempel på källkod för biblioteksdokumentation | (Maven) | |

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt
  • Den aktuella versionen av Java Development Kit (JDK)
  • Build-verktyget Gradle eller en annan beroendehanterare.
  • När du har din Azure-prenumeration skapar du en content Valv ty-resurs 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 (USA, östra eller Europa, västra) 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. Slutpunkten och någon av nycklarna används för att anropa API:er.

Konfigurera program

Skapa ett nytt Gradle-projekt.

Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.

mkdir myapp && cd myapp

Kör kommandot från arbetskatalogen gradle init . Det här kommandot skapar viktiga byggfiler för Gradle, inklusive build.gradle.kts, som används vid körning för att skapa och konfigurera ditt program.

gradle init --type basic

Välj en DSL när du uppmanas till det och välj Kotlin.

Från arbetskatalogen kör du följande kommando för att skapa en projektkällmapp:

mkdir -p src/main/java

Gå till den nya mappen och skapa en fil med namnet Content Valv tyQuickstart.java.

Installera klient-SDK

Den här snabbstarten använder Gradle-beroendehanteraren. Du hittar klientbiblioteket och information för andra beroendehanterare på Den centrala Maven-lagringsplatsen.

Leta upp build.gradle.kts och öppna det med önskad IDE eller textredigerare . Kopiera sedan i följande byggkonfiguration. Den här konfigurationen definierar projektet som ett Java-program vars startpunkt är klassen Content Valv tyQuickstart. Den importerar Azure AI Vision-biblioteket.

plugins {
    java
    application
}
application { 
    mainClass.set("ContentSafetyQuickstart")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.azure", name = "azure-ai-contentsafety", version = "1.0.0")
}

Skapa miljövariabler

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

Dricks

Inkludera inte nyckeln direkt i koden och publicera den aldrig offentligt. Mer autentiseringsalternativ som Azure Key Vault finns i säkerhetsartikeln för Azure AI-tjänster.

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.

  1. Om du vill ange CONTENT_SAFETY_KEY miljövariabeln ersätter du YOUR_CONTENT_SAFETY_KEY med en av nycklarna för resursen.
  2. Om du vill ange CONTENT_SAFETY_ENDPOINT miljövariabeln ersätter du YOUR_CONTENT_SAFETY_ENDPOINT med slutpunkten för resursen.
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 textinnehåll

Öppna Innehåll Valv tyQuickstart.java i önskad redigerare eller IDE och klistra in följande kod. Ersätt <your text sample> med det textinnehåll som du vill använda.

Dricks

Textstorlek och kornighet

Den maximala standardlängden för textöverföringar är 10 000 tecken.

import com.azure.ai.contentsafety.ContentSafetyClient;
import com.azure.ai.contentsafety.ContentSafetyClientBuilder;
import com.azure.ai.contentsafety.models.AnalyzeTextOptions;
import com.azure.ai.contentsafety.models.AnalyzeTextResult;
import com.azure.ai.contentsafety.models.TextCategoriesAnalysis;
import com.azure.core.credential.KeyCredential;
import com.azure.core.util.Configuration;


public class ContentSafetyQuickstart {
    public static void main(String[] args) {

        // get endpoint and key from environment variables
        String endpoint = System.getenv("CONTENT_SAFETY_ENDPOINT");
        String key = System.getenv("CONTENT_SAFETY_KEY");
        
        ContentSafetyClient contentSafetyClient = new ContentSafetyClientBuilder()
            .credential(new KeyCredential(key))
            .endpoint(endpoint).buildClient();

        AnalyzeTextResult response = contentSafetyClient.analyzeText(new AnalyzeTextOptions("<your text sample>"));

        for (TextCategoriesAnalysis result : response.getCategoriesAnalysis()) {
            System.out.println(result.getCategory() + " severity: " + result.getSeverity());
        }
    }
}

Gå tillbaka till projektrotmappen och skapa appen med:

gradle build

Kör den sedan med gradle run kommandot :

gradle run

Output

Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0

Referensdokumentation Bibliotek källkodspaket | (npm)Exempel | | |

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt
  • Den aktuella versionen av Node.js
  • När du har din Azure-prenumeration skapar du en content Valv ty-resurs 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 (USA, östra eller Europa, västra) 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. Slutpunkten och någon av nycklarna används för att anropa API:er.

Konfigurera program

Skapa ett nytt Node.js-program. Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.

mkdir myapp && cd myapp

Kör kommandot npm init för att skapa ett nodprogram med en package.json-fil.

npm init

Installera klient-SDK

@azure-rest/ai-content-safety Installera npm-paketet:

npm install @azure-rest/ai-content-safety

Installera även modulen dotenv för att använda miljövariabler:

npm install dotenv

Programmets package.json-fil kommer att uppdateras med beroenden.

Skapa miljövariabler

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

Dricks

Inkludera inte nyckeln direkt i koden och publicera den aldrig offentligt. Mer autentiseringsalternativ som Azure Key Vault finns i säkerhetsartikeln för Azure AI-tjänster.

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.

  1. Om du vill ange CONTENT_SAFETY_KEY miljövariabeln ersätter du YOUR_CONTENT_SAFETY_KEY med en av nycklarna för resursen.
  2. Om du vill ange CONTENT_SAFETY_ENDPOINT miljövariabeln ersätter du YOUR_CONTENT_SAFETY_ENDPOINT med slutpunkten för resursen.
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 textinnehåll

Skapa en ny fil i katalogen index.js. Öppna den i önskad redigerare eller IDE och klistra in följande kod. Ersätt <your text sample> med det textinnehåll som du vill använda.

Dricks

Textstorlek och kornighet

Den maximala standardlängden för textöverföringar är 10 000 tecken.

const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
  { isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");

// Load the .env file if it exists
require("dotenv").config();

async function main() {
    // get endpoint and key from environment variables
    const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"];
    const key = process.env["CONTENT_SAFETY_KEY"];
    
    const credential = new AzureKeyCredential(key);
    const client = ContentSafetyClient(endpoint, credential);
    
    // replace with your own sample text string 
    const text = "<your sample text>";
    const analyzeTextOption = { text: text };
    const analyzeTextParameters = { body: analyzeTextOption };
    
    const result = await client.path("/text:analyze").post(analyzeTextParameters);
    
    if (isUnexpected(result)) {
        throw result;
    }
    
    for (let i = 0; i < result.body.categoriesAnalysis.length; i++) {
    const textCategoriesAnalysisOutput = result.body.categoriesAnalysis[i];
    console.log(
      textCategoriesAnalysisOutput.category,
      " severity: ",
      textCategoriesAnalysisOutput.severity
    );
  }
}

main().catch((err) => {
    console.error("The sample encountered an error:", err);
});

Kör programmet med kommandot node på din snabbstartsfil.

node index.js

Output

Hate severity:  0
SelfHarm severity:  0
Sexual severity:  0
Violence severity:  0

Rensa resurser

Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg

Konfigurera filter för varje kategori och testa datauppsättningar med hjälp av Content Valv ty Studio, exportera koden och distribuera.