Sdílet prostřednictvím


Rychlý start: Analýza obsahu obrázku

Začněte pracovat se sadami Content Studio, REST API nebo klientskými sadami SDK, abyste mohli provádět základní moderování obrázků. Služba Azure AI Content Safety poskytuje algoritmy AI pro označování problematického obsahu. Pokud si to chcete vyzkoušet, postupujte podle těchto kroků.

Další informace o moderování obrázků najdete na stránce konceptů kategorií škod. Informace o limitech vstupu rozhraní API najdete v části Požadavky na vstup v části Přehled.

Poznámka:

Ukázková data a kód 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 své předplatné a vyberte skupinu prostředků, podporovanou oblast (viz Dostupnost 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. Koncový bod a jeden z klíčů se používají k volání rozhraní API.
  • Nainstalovaný cURL

Analýza obsahu obrázků

Následující část vás provede ukázkovým požadavkem na moderování obrázků s cURL.

Příprava ukázkového obrázku

Vyberte ukázkový obrázek, který chcete analyzovat, a stáhněte si ho do zařízení.

Viz Požadavky na vstup pro omezení image. Pokud je váš formát animovaný, služba extrahuje první snímek, který provede analýzu.

Obrázek můžete zadat jednou ze dvou metod: místní souborový stream nebo adresu URL úložiště objektů blob.

  • Místní souborový stream (doporučeno): Zakódujte image na base64. K kódování můžete použít web, jako je kódování kódu . Potom zakódovaný řetězec uložte do dočasného umístění.

  • Adresa URL úložiště objektů blob: Nahrajte obrázek do účtu služby Azure Blob Storage. V rychlém startu pro úložiště objektů blob se dozvíte, jak to udělat. Pak otevřete Průzkumník služby Azure Storage a získejte adresu URL k obrázku. Uložte ho do dočasného umístění.

    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.

    1. Povolte spravovanou identitu pro instanci Zabezpečení obsahu Azure AI.

      Snímek obrazovky webu Azure Portal s povolením spravované identity

    2. 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.

      Snímek obrazovky Přidat přiřazení role na webu Azure Portal

      Snímek obrazovky s přiřazenými rolemi na webu Azure Portal

      Snímek obrazovky s rolí spravované identity

Analýza obsahu obrázků

Vložte následující příkaz do textového editoru a proveďte následující změny.

  1. Nahraďte <endpoint> adresou URL koncového bodu prostředku.
  2. <your_subscription_key> nahraďte tímto klíčem.
  3. Naplňte "image" pole v těle pole polem "content" nebo polem "blobUrl" . Například: {"image": {"content": "<base_64_string>"} nebo {"image": {"blobUrl": "<your_storage_url>"}.
curl --location --request POST '<endpoint>/contentsafety/image:analyze?api-version=2024-09-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"
}'

Poznámka:

Pokud používáte adresu URL úložiště objektů blob, text požadavku by měl vypadat takto:

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

Následující pole musí být zahrnuta v adrese URL:

Název Povinný? Popis Typ
Verze rozhraní API Požaduje se Toto je verze rozhraní API, která se má zkontrolovat. Aktuální verze je: api-version=2024-09-01. Příklad: <endpoint>/contentsafety/image:analyze?api-version=2024-09-01 String

Parametry v textu požadavku jsou definovány v této tabulce:

Název Povinný? Popis Typ
obsah Požaduje se Adresa URL obsahu nebo objektu blob obrázku. Můžu mít buď bajty kódování base64, nebo adresu URL objektu blob. Pokud jsou oba uvedeny, žádost se odmítne. Maximální povolená velikost obrázku je 7 200 × 7 200 pixelů a maximální velikost souboru je 4 MB. Minimální velikost obrázku je 50 pixelů x 50 pixelů. String
Kategorie Volitelné Předpokládá se, že se jedná o pole názvů kategorií. Seznam dostupných názvů kategorií najdete v průvodci kategoriemi škod. Pokud nejsou zadány žádné kategorie, použijí se všechny čtyři kategorie. K získání skóre v jednom požadavku používáme více kategorií. String
outputType Volitelné Rozhraní API pro moderování obrázků podporuje "FourSeverityLevels"pouze . Závažnosti výstupu ve čtyřech úrovních Hodnota může být 0,2,4,6 String

Otevřete okno příkazového řádku a spusťte příkaz cURL.

Výstup

V konzole by se měly zobrazit výsledky moderování obrázků jako data JSON. Příklad:

{
  "categoriesAnalysis": [
    {
      "category": "Hate",
      "severity": 2
    },
    {
      "category": "SelfHarm",
      "severity": 0
    },
    {
      "category": "Sexual",
      "severity": 0
    },
    {
      "category": "Violence",
      "severity": 0
    }
  ]
}

Pole JSON ve výstupu jsou definována tady:

Název Popis Typ
categoriesAnalysis Každá výstupní třída, kterou rozhraní API predikuje. Klasifikaci lze označit více popisky. Když se například obrázek nahraje do modelu moderování obrázků, může se klasifikovat jako sexuální obsah i násilí. Kategorie škod String
Závažnost Úroveň závažnosti příznaku v každé kategorii škod. Kategorie škod Celé číslo

Referenční dokumentace | – ukázky balíčku zdrojového kódu | knihovny (NuGet) |

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma
  • Integrované vývojové prostředí sady Visual Studio s povoleným vývojem desktopových aplikací .NET pro úlohy Nebo pokud nemáte v plánu používat integrované vývojové prostředí sady Visual Studio, potřebujete aktuální verzi .NET Core.
  • Nainstalovaný modul runtime .NET.
  • 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 své předplatné a vyberte skupinu prostředků, podporovanou oblast (viz Dostupnost 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. Koncový bod a jeden z klíčů se používají k volání rozhraní API.

Nastavení aplikace

Vytvořte novou aplikaci jazyka C#.

Otevřete Visual Studio a v části Začínáme vyberte Vytvořit nový projekt. Nastavte filtry šablon na C#/Všechny platformy/konzolu. Vyberte konzolovou aplikaci (aplikaci příkazového řádku, která se dá spustit v .NET ve Windows, Linuxu a macOS) a zvolte Další. Aktualizujte název projektu na ContentSafetyQuickstart a zvolte Další. Vyberte .NET 6.0 nebo novější a zvolte Vytvořit a vytvořte projekt.

Instalace klientské sady SDK

Po vytvoření nového projektu nainstalujte klientskou sadu SDK tak, že v Průzkumník řešení kliknete pravým tlačítkem na řešení projektu a vyberete Spravovat balíčky NuGet. Ve správci balíčků, který se otevře, vyberte Procházet a vyhledejte Azure.AI.ContentSafety. Vyberte volbu Instalovat.

Vytvoření proměnných prostředí

V tomto příkladu napíšete přihlašovací údaje do proměnných prostředí na místním počítači, na kterém běží aplikace.

Pokud chcete nastavit proměnnou prostředí pro klíč a koncový bod, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou CONTENT_SAFETY_KEY prostředí, nahraďte YOUR_CONTENT_SAFETY_KEY jedním z klíčů pro váš prostředek.
  • Pokud chcete nastavit proměnnou CONTENT_SAFETY_ENDPOINT prostředí, nahraďte YOUR_CONTENT_SAFETY_ENDPOINT koncovým bodem vašeho prostředku.

Důležité

Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Po přidání proměnných prostředí budete možná muset restartovat všechny spuštěné programy, které budou číst proměnné prostředí, včetně okna konzoly.

Analýza obsahu obrázků

V adresáři projektu otevřete dříve vytvořený soubor Program.cs . Vložte následující kód.

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

V adresáři projektu vytvořte složku sample_data a přidejte do ní soubor image.png .

Sestavte a spusťte aplikaci výběrem možnosti Spustit ladění z nabídky Ladění v horní části okna integrovaného vývojového prostředí (nebo stiskněte klávesu F5).

Ukázky zdrojového kódu | knihovny referenční dokumentace | (PyPI) | |

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 své předplatné a vyberte skupinu prostředků, podporovanou oblast (viz Dostupnost 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. Koncový bod a jeden z klíčů se používají k volání rozhraní API.
  • Python 3.8 nebo novější
    • Vaše instalace Pythonu by měla obsahovat pip. Spuštěním na příkazovém pip --version řádku můžete zkontrolovat, jestli máte nainstalovaný pip. Získejte pip instalací nejnovější verze Pythonu.

Vytvoření proměnných prostředí

V tomto příkladu napíšete přihlašovací údaje do proměnných prostředí na místním počítači, na kterém běží aplikace.

Pokud chcete nastavit proměnnou prostředí pro klíč a koncový bod, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou CONTENT_SAFETY_KEY prostředí, nahraďte YOUR_CONTENT_SAFETY_KEY jedním z klíčů pro váš prostředek.
  • Pokud chcete nastavit proměnnou CONTENT_SAFETY_ENDPOINT prostředí, nahraďte YOUR_CONTENT_SAFETY_ENDPOINT koncovým bodem vašeho prostředku.

Důležité

Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Po přidání proměnných prostředí budete možná muset restartovat všechny spuštěné programy, které budou číst proměnné prostředí, včetně okna konzoly.

Analýza obsahu obrázků

Následující část vás provede ukázkovým požadavkem pomocí sady Python SDK.

  1. Otevřete příkazový řádek, přejděte do složky projektu a vytvořte nový soubor s názvem quickstart.py.

  2. Spuštěním tohoto příkazu nainstalujte klientskou knihovnu Azure AI Content Safety:

    python -m pip install azure-ai-contentsafety
    
  3. Do quickstart.py zkopírujte následující kód:

    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. Nahraďte a "image.jpg" nahraďte "sample_data" cestu a název souboru místního, který chcete použít.

  5. Pak spusťte aplikaci pomocí příkazu v souboru rychlého python startu.

    python quickstart.py
    

Referenční dokumentace | – ukázky artefaktu zdrojového kódu | knihovny (Maven) |

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma
  • Aktuální verze sady Java Development Kit (JDK)
  • Nástroj sestavení Gradle nebo jiný správce závislostí.
  • 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 své předplatné a vyberte skupinu prostředků, podporovanou oblast (viz Dostupnost 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. Koncový bod a jeden z klíčů se používají k volání rozhraní API.

Nastavení aplikace

Vytvořte nový projekt Gradle.

V okně konzoly (například cmd, PowerShell nebo Bash) vytvořte pro vaši aplikaci nový adresář a přejděte do něj.

mkdir myapp && cd myapp

gradle init Spusťte příkaz z pracovního adresáře. Tento příkaz vytvoří základní soubory sestavení pro Gradle, včetně build.gradle.kts, které se používají za běhu k vytvoření a konfiguraci aplikace.

gradle init --type basic

Po zobrazení výzvy k výběru DSL vyberte Kotlin.

Spuštěním následujícího příkazu z pracovního adresáře vytvořte zdrojovou složku projektu:

mkdir -p src/main/java

Přejděte do nové složky a vytvořte soubor s názvem ContentSafetyQuickstart.java.

src/resources Vytvořte také složku v kořenovém adresáři projektu a přidejte do ní ukázkový obrázek.

Instalace klientské sady SDK

V tomto rychlém startu se používá správce závislostí Gradle. Klientskou knihovnu a informace pro další správce závislostí najdete v centrálním úložišti Maven.

Vyhledejte build.gradle.kts a otevřete ho pomocí preferovaného integrovaného vývojového prostředí (IDE) nebo textového editoru. Pak zkopírujte následující konfiguraci sestavení. Tato konfigurace definuje projekt jako aplikaci Java, jejíž vstupním bodem je třída ContentSafetyQuickstart. Naimportuje knihovnu Azure AI Vision.

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

Vytvoření proměnných prostředí

V tomto příkladu napíšete přihlašovací údaje do proměnných prostředí na místním počítači, na kterém běží aplikace.

Pokud chcete nastavit proměnnou prostředí pro klíč a koncový bod, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou CONTENT_SAFETY_KEY prostředí, nahraďte YOUR_CONTENT_SAFETY_KEY jedním z klíčů pro váš prostředek.
  • Pokud chcete nastavit proměnnou CONTENT_SAFETY_ENDPOINT prostředí, nahraďte YOUR_CONTENT_SAFETY_ENDPOINT koncovým bodem vašeho prostředku.

Důležité

Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Po přidání proměnných prostředí budete možná muset restartovat všechny spuštěné programy, které budou číst proměnné prostředí, včetně okna konzoly.

Analýza obsahu obrázků

Otevřete ContentSafetyQuickstart.java v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE) a vložte následující kód. Nahraďte proměnnou source cestou k ukázkovém obrázku.

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

Přejděte zpět do kořenové složky projektu a sestavte aplikaci pomocí:

gradle build

Pak ho spusťte pomocí gradle run příkazu:

gradle run

Výstup

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

Referenční dokumentace | – ukázky balíčku zdrojového kódu | knihovny (npm) | |

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma
  • Aktuální verze Node.js
  • 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 své předplatné a vyberte skupinu prostředků, podporovanou oblast (viz Dostupnost 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. Koncový bod a jeden z klíčů se používají k volání rozhraní API.

Nastavení aplikace

Vytvořte novou aplikaci Node.js. V okně konzoly (například cmd, PowerShell nebo Bash) vytvořte pro vaši aplikaci nový adresář a přejděte do něj.

mkdir myapp && cd myapp

Spuštěním příkazu npm init vytvoříte aplikaci uzlu se souborem package.json.

npm init

/resources Vytvořte také složku v kořenovém adresáři projektu a přidejte do ní ukázkový obrázek.

Instalace klientské sady SDK

@azure-rest/ai-content-safety Nainstalujte balíček npm:

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

Nainstalujte dotenv také modul pro použití proměnných prostředí:

npm install dotenv

Soubor package.json vaší aplikace se bude aktualizovat s využitím závislostí.

Vytvoření proměnných prostředí

V tomto příkladu napíšete přihlašovací údaje do proměnných prostředí na místním počítači, na kterém běží aplikace.

Pokud chcete nastavit proměnnou prostředí pro klíč a koncový bod, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou CONTENT_SAFETY_KEY prostředí, nahraďte YOUR_CONTENT_SAFETY_KEY jedním z klíčů pro váš prostředek.
  • Pokud chcete nastavit proměnnou CONTENT_SAFETY_ENDPOINT prostředí, nahraďte YOUR_CONTENT_SAFETY_ENDPOINT koncovým bodem vašeho prostředku.

Důležité

Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Po přidání proměnných prostředí budete možná muset restartovat všechny spuštěné programy, které budou číst proměnné prostředí, včetně okna konzoly.

Analýza obsahu obrázků

Vytvořte v adresáři nový soubor index.js. Otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí a vložte do něj následující kód. Nahraďte proměnnou image_path cestou k ukázkovém obrázku.

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);
});

Spusťte aplikaci pomocí příkazu node pro soubor rychlého startu.

node index.js

Výstup

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

Vyčištění prostředků

Pokud chcete vyčistit a odebrat předplatné služeb Azure AI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.