Snabbstart: Analysera bildinnehåll

Kom igång med Content Studio, REST API eller klient-SDK:er för att utföra grundläggande bildmoderering. 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 avbildningsinnehåll

I följande avsnitt går vi igenom en exempelbegäran om bildmoderering med cURL.

Förbereda en exempelbild

Välj en exempelbild att analysera och ladda ned den till enheten.

Vi stöder jpeg-, PNG-, GIF-, BMP-, TIFF- eller WEBP-bildformat. Den maximala storleken för bildöverföringar är 4 MB och bilddimensionerna måste vara mellan 50 x 50 bildpunkter och 2 048 x 2 048 bildpunkter. Om formatet är animerat extraherar vi den första ramen för identifieringen.

Du kan ange din bild med någon av två metoder: lokal filströms - eller bloblagrings-URL.

  • Lokal filström (rekommenderas): Koda avbildningen till base64. Du kan använda en webbplats som codebeautify för att göra kodningen. Spara sedan den kodade strängen på en tillfällig plats.

  • URL för bloblagring: Ladda upp avbildningen till ett Azure Blob Storage-konto. Följ snabbstarten för bloblagring för att lära dig hur du gör detta. Öppna sedan Azure Storage Explorer och hämta URL:en till avbildningen. Spara den på en tillfällig plats.

    Därefter måste du ge din innehållsresurs Valv ty åtkomst till läsning från Azure Storage-resursen. Aktivera systemtilldelad hanterad identitet för Azure AI Content Valv ty-instansen och tilldela rollen Storage Blob Data Contributor/Owner/Reader till identiteten:

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

      Skärmbild av Azure-portalen som aktiverar hanterad identitet.

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

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

      Skärmbild av tilldelade roller i Azure-portalen.

      Skärmbild av den hanterade identitetsrollen.

Analysera avbildningsinnehåll

Klistra in kommandot nedan i en textredigerare och gör följande ändringar.

  1. <endpoint> Ersätt med url:en för resursslutpunkten.
  2. Ersätt <your_subscription_key> med din nyckel.
  3. Fyll i fältet "image" i brödtexten med antingen ett "content" fält eller ett "blobUrl" fält. Till exempel: {"image": {"content": "<base_64_string>"} eller {"image": {"blobUrl": "<your_storage_url>"}.
curl --location --request POST '<endpoint>/contentsafety/image:analyze?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "image": {
    "content": "<base_64_string>"
  },
  "categories": [
    "Hate", "SelfHarm", "Sexual", "Violence"
  ],
  "outputType": "FourSeverityLevels"
}'

Kommentar

Om du använder en bloblagrings-URL ser begärandetexten ut så här:

{
 "image": {
   "blobUrl": "<your_storage_url>"
 }
}

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

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

Name 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/image:analyze?api-version=2023-10-01 String

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

Name Obligatoriskt? beskrivning Typ
Innehåll Obligatoriskt Bildens innehålls- eller blob-URL. Jag kan vara antingen base64-kodade byte eller en blob-URL. Om båda anges avvisas begäran. Den maximala tillåtna storleken på bilden är 2 048 bildpunkter x 2 048 bildpunkter och den maximala filstorleken är 4 MB. Den minsta storleken på bilden är 50 bildpunkter x 50 bildpunkter. 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
outputType Valfritt API för bildmoderering stöder "FourSeverityLevels"endast . Utdata allvarlighetsgrad i fyra nivåer. Värdet kan vara 0,2,4,6 String

Output

Du bör se resultatet av bildmoderering som visas som JSON-data i konsolen. Till exempel:

{
    "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 en bild till exempel laddas upp till bildmodereringsmodellen kan den klassificeras som både sexuellt innehåll och våld. Skadekategorier String
Allvarlighetsgrad Allvarlighetsgraden för flaggan i varje skadekategori. Skadekategorier 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.
  • .NET Runtime installerat.
  • 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 efter Azure.AI.ContentSafety. 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 avbildningsinnehå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 ContentSafetySampleAnalyzeImage
  {
    public static void AnalyzeImage()
    {
      // 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));

      // Example: analyze image

      string imagePath = @"sample_data\image.png";
      ContentSafetyImageData image = new ContentSafetyImageData(BinaryData.FromBytes(File.ReadAllBytes(imagePath)));

      var request = new AnalyzeImageOptions(image);

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

      Console.WriteLine("Hate severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Hate)?.Severity ?? 0);
      Console.WriteLine("SelfHarm severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.SelfHarm)?.Severity ?? 0);
      Console.WriteLine("Sexual severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Sexual)?.Severity ?? 0);
      Console.WriteLine("Violence severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Violence)?.Severity ?? 0);
    }
    static void Main()
    {
      AnalyzeImage();
    }
  }
}

Skapa en sample_data mapp i projektkatalogen och lägg till en image.png fil i den.

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.8 eller senare
    • 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 avbildningsinnehå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-klientbiblioteket:

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

    import os
    
    from azure.ai.contentsafety import ContentSafetyClient
    from azure.ai.contentsafety.models import AnalyzeImageOptions, ImageData, ImageCategory
    from azure.core.credentials import AzureKeyCredential
    from azure.core.exceptions import HttpResponseError
    
    def analyze_image():
        endpoint = os.environ.get('CONTENT_SAFETY_ENDPOINT')
        key = os.environ.get('CONTENT_SAFETY_KEY')
        image_path = os.path.join("sample_data", "image.jpg")
    
        # Create an Azure AI Content Safety client
        client = ContentSafetyClient(endpoint, AzureKeyCredential(key))
    
    
        # Build request
        with open(image_path, "rb") as file:
            request = AnalyzeImageOptions(image=ImageData(content=file.read()))
    
        # Analyze image
        try:
            response = client.analyze_image(request)
        except HttpResponseError as e:
            print("Analyze image 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 == ImageCategory.HATE)
        self_harm_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SELF_HARM)
        sexual_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SEXUAL)
        violence_result = next(item for item in response.categories_analysis if item.category == ImageCategory.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_image()
    
  4. Ersätt "sample_data" och "image.jpg" med sökvägen och filnamnet för det lokala du vill använda.

  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.

Skapa också en src/resources mapp i roten av projektet och lägg till en exempelbild i den.

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 avbildningsinnehåll

Öppna Innehåll Valv tyQuickstart.java i önskad redigerare eller IDE och klistra in följande kod. Ersätt variabeln source med sökvägen till exempelbilden.

import com.azure.ai.contentsafety.ContentSafetyClient;
import com.azure.ai.contentsafety.ContentSafetyClientBuilder;
import com.azure.ai.contentsafety.models.AnalyzeImageOptions;
import com.azure.ai.contentsafety.models.AnalyzeImageResult;
import com.azure.ai.contentsafety.models.ContentSafetyImageData;
import com.azure.ai.contentsafety.models.ImageCategoriesAnalysis;
import com.azure.core.credential.KeyCredential;
import com.azure.core.util.BinaryData;
import com.azure.core.util.Configuration;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;


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

        // 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();

        ContentSafetyImageData image = new ContentSafetyImageData();
        String cwd = System.getProperty("user.dir");
        String source = "/src/samples/resources/image.png";

        image.setContent(BinaryData.fromBytes(Files.readAllBytes(Paths.get(cwd, source))));

        AnalyzeImageResult response =
                contentSafetyClient.analyzeImage(new AnalyzeImageOptions(image));

        for (ImageCategoriesAnalysis 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

Skapa också en /resources mapp i roten av projektet och lägg till en exempelbild i den.

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 avbildningsinnehåll

Skapa en ny fil i katalogen index.js. Öppna den i önskad redigerare eller IDE och klistra in följande kod. Ersätt variabeln image_path med sökvägen till exempelbilden.

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

// 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 image file path 
    const image_path = path.resolve(__dirname, "./resources/image.jpg");
    
    const imageBuffer = fs.readFileSync(image_path);
    const base64Image = imageBuffer.toString("base64");
    const analyzeImageOption = { image: { content: base64Image } };
    const analyzeImageParameters = { body: analyzeImageOption };
    
    const result = await client.path("/image:analyze").post(analyzeImageParameters);
    
    if (isUnexpected(result)) {
        throw result;
    }
    for (let i = 0; i < result.body.categoriesAnalysis.length; i++) {
    const imageCategoriesAnalysisOutput = result.body.categoriesAnalysis[i];
    console.log(
      imageCategoriesAnalysisOutput.category,
      " severity: ",
      imageCategoriesAnalysisOutput.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.