Szybki start: analizowanie zawartości tekstowej

Rozpocznij pracę z zestawami SDK usługi Content Sejf ty Studio, interfejsu API REST lub klienta, aby wykonać podstawowe moderowanie tekstu. Usługa Azure AI Content Sejf ty udostępnia algorytmy sztucznej inteligencji służące do flagowania niepożądanej zawartości. Wykonaj następujące kroki, aby wypróbować ten problem.

Uwaga

Przykładowe dane i kod mogą zawierać obraźliwą zawartość. Zaleca się, aby użytkownik był dyskrecjonalne.

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób Content Sejf ty w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Wprowadź unikatową nazwę zasobu, wybierz subskrypcję i wybierz grupę zasobów, obsługiwany region (Wschodnie stany USA lub Europa Zachodnia) i obsługiwaną warstwę cenową. Następnie wybierz Utwórz.
    • Wdrożenie zasobu trwa kilka minut. Po zakończeniu wybierz pozycję Przejdź do zasobu. W okienku po lewej stronie w obszarze Zarządzanie zasobami wybierz pozycję Klucz subskrypcji i punkt końcowy. Punkt końcowy i jeden z kluczy są używane do wywoływania interfejsów API.
  • Zainstalowano bibliotekę cURL

Analizowanie zawartości tekstowej

W poniższej sekcji przedstawiono przykładowe żądanie z biblioteką cURL. Wklej poniższe polecenie do edytora tekstów i wprowadź następujące zmiany.

  1. Zastąp ciąg <endpoint> adresem URL punktu końcowego skojarzonym z zasobem.
  2. Zastąp <your_subscription_key> element jednym z kluczy, które są dostarczane z zasobem.
  3. Opcjonalnie zastąp "text" pole w treści własnym tekstem, który chcesz przeanalizować.

    Napiwek

    Rozmiar tekstu i stopień szczegółowości

    Domyślna maksymalna długość przesyłania tekstu to 10 000 znaków.

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"
}'

Poniższe pola muszą być uwzględnione w adresie URL:

Nazwisko Wymagania opis Type
Wersja interfejsu API Wymagania Jest to wersja interfejsu API do sprawdzenia. Bieżąca wersja to: api-version=2023-10-01. Przykład: <endpoint>/contentsafety/text:analyze?api-version=2023-10-01 String

Parametry w treści żądania są zdefiniowane w tej tabeli:

Nazwisko Wymagania opis Type
text Wymagania Jest to nieprzetworzonego tekstu do sprawdzenia. Można uwzględnić inne znaki inne niż ascii. String
Kategorie Opcjonalnie Przyjmuje się, że jest to tablica nazw kategorii. Aby uzyskać listę dostępnych nazw kategorii, zobacz przewodnik Dotyczący kategorii szkody. Jeśli nie określono żadnych kategorii, zostaną użyte wszystkie cztery kategorie. Używamy wielu kategorii do uzyskiwania wyników w jednym żądaniu. String
blocklistNames Opcjonalnie Nazwa listy bloków tekstu. Obsługują tylko następujące znaki: 0-9 A-Z a-z - . _ ~. W tym miejscu można dołączyć wiele nazw list. Tablica
haltOnBlocklistHit Opcjonalnie W przypadku ustawienia wartości trueparametru dalsze analizy szkodliwej zawartości nie będą wykonywane w przypadkach, w których trafione są listy zablokowanych. Po ustawieniu wartości falseparametru zostaną wykonane wszystkie analizy szkodliwej zawartości, bez względu na to, czy zostaną trafione listy zablokowanych. Wartość logiczna
Outputtype Opcjonalnie Usługa "FourSeverityLevels" lub "EightSeverityLevels". Ważność danych wyjściowych na czterech lub ośmiu poziomach, wartość może mieć 0,2,4,6 wartość lub 0,1,2,3,4,5,6,7. String

Zobacz następującą przykładową treść żądania:

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

Otwórz okno wiersza polecenia i uruchom polecenie cURL.

Interpretowanie odpowiedzi interfejsu API

Wyniki moderowania tekstu powinny być wyświetlane jako dane JSON w danych wyjściowych konsoli. Na przykład:

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

Pola JSON w danych wyjściowych są zdefiniowane tutaj:

Nazwa/nazwisko opis Type
categoriesAnalysis Każda klasa wyjściowa przewidywana przez interfejs API. Klasyfikacja może być oznaczona wieloma etykietami. Na przykład gdy przykładowy tekst jest uruchamiany przez model moderowania tekstu, może zostać sklasyfikowany jako zawartość seksualna i przemoc. Kategorie szkód String
Ważność Im większa jest ważność zawartości wejściowej, tym większa jest ta wartość. Integer

Dokumentacja referencyjna — pakiet | kodu | źródłowego biblioteki źródłowej (NuGet)Samples |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Środowisko IDE programu Visual Studio z włączonym tworzeniem aplikacji klasycznych na platformie .NET obciążenia. Jeśli nie planujesz używania środowiska IDE programu Visual Studio, potrzebujesz bieżącej wersji platformy .NET Core.
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób Content Sejf ty w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Wprowadź unikatową nazwę zasobu, wybierz subskrypcję i wybierz grupę zasobów, obsługiwany region (Wschodnie stany USA lub Europa Zachodnia) i obsługiwaną warstwę cenową. Następnie wybierz Utwórz.
    • Wdrożenie zasobu trwa kilka minut. Po zakończeniu wybierz pozycję Przejdź do zasobu. W okienku po lewej stronie w obszarze Zarządzanie zasobami wybierz pozycję Klucz subskrypcji i punkt końcowy. Punkt końcowy i jeden z kluczy są używane do wywoływania interfejsów API.

Konfigurowanie aplikacji

Utwórz nową aplikację w języku C#.

Otwórz program Visual Studio i w obszarze Rozpocznij wybierz pozycję Utwórz nowy projekt. Ustaw filtry szablonu na C#/Wszystkie platformy/konsolę. Wybierz pozycję Aplikacja konsolowa (aplikacja wiersza polecenia, która może działać na platformie .NET w systemach Windows, Linux i macOS), a następnie wybierz pozycję Dalej. Zaktualizuj nazwę projektu na Zawartość Sejf tyQuickstart i wybierz pozycję Dalej. Wybierz pozycję .NET 6.0 lub nowszą, a następnie wybierz pozycję Utwórz , aby utworzyć projekt.

Instalowanie zestawu SDK klienta

Po utworzeniu nowego projektu zainstaluj zestaw SDK klienta, klikając prawym przyciskiem myszy rozwiązanie projektu w Eksplorator rozwiązań i wybierając polecenie Zarządzaj pakietami NuGet. W menedżerze pakietów, który zostanie otwarty, wybierz pozycję Przeglądaj i wyszukaj ciąg Azure.AI.ContentSafety. Wybierz Zainstaluj.

Tworzenie zmiennych środowiskowych

W tym przykładzie napiszesz poświadczenia do zmiennych środowiskowych na komputerze lokalnym z uruchomioną aplikacją.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz artykuł Dotyczący zabezpieczeń usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  1. Aby ustawić zmienną CONTENT_SAFETY_KEY środowiskową, zastąp YOUR_CONTENT_SAFETY_KEY element jednym z kluczy zasobu.
  2. Aby ustawić zmienną CONTENT_SAFETY_ENDPOINT środowiskową, zastąp YOUR_CONTENT_SAFETY_ENDPOINT element punktem końcowym zasobu.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Analizowanie zawartości tekstowej

W katalogu projektu otwórz utworzony wcześniej plik Program.cs . Wklej następujący 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();
    }
  }
}

Zastąp "Your input text" tekst zawartością, której chcesz użyć.

Napiwek

Rozmiar tekstu i stopień szczegółowości

Domyślna maksymalna długość przesyłania tekstu to 10 000 znaków.

Skompiluj i uruchom aplikację, wybierając pozycję Rozpocznij debugowanie w menu Debuguj w górnej części okna ŚRODOWISKA IDE (lub naciśnij klawisz F5).

Dokumentacja referencyjna — przykłady | pakietu kodu | źródłowego biblioteki źródłowej (PyPI) | |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób Content Sejf ty w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Wprowadź unikatową nazwę zasobu, wybierz subskrypcję i wybierz grupę zasobów, obsługiwany region (Wschodnie stany USA lub Europa Zachodnia) i obsługiwaną warstwę cenową. Następnie wybierz Utwórz.
    • Wdrożenie zasobu trwa kilka minut. Po zakończeniu wybierz pozycję Przejdź do zasobu. W okienku po lewej stronie w obszarze Zarządzanie zasobami wybierz pozycję Klucz subskrypcji i punkt końcowy. Punkt końcowy i jeden z kluczy są używane do wywoływania interfejsów API.
  • Python 3.x
    • Instalacja języka Python powinna zawierać narzędzie pip. Możesz sprawdzić, czy masz zainstalowane narzędzie pip, uruchamiając polecenie pip --version w wierszu polecenia. Pobierz narzędzie pip, instalując najnowszą wersję języka Python.

Tworzenie zmiennych środowiskowych

W tym przykładzie napiszesz poświadczenia do zmiennych środowiskowych na komputerze lokalnym z uruchomioną aplikacją.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz artykuł Dotyczący zabezpieczeń usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  1. Aby ustawić zmienną CONTENT_SAFETY_KEY środowiskową, zastąp YOUR_CONTENT_SAFETY_KEY element jednym z kluczy zasobu.
  2. Aby ustawić zmienną CONTENT_SAFETY_ENDPOINT środowiskową, zastąp YOUR_CONTENT_SAFETY_ENDPOINT element punktem końcowym zasobu.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Analizowanie zawartości tekstowej

W poniższej sekcji przedstawiono przykładowe żądanie z zestawem SDK języka Python.

  1. Otwórz wiersz polecenia, przejdź do folderu projektu i utwórz nowy plik o nazwie quickstart.py.

  2. Uruchom to polecenie, aby zainstalować bibliotekę zawartości usługi Azure AI Sejf ty:

    pip install azure-ai-contentsafety
    
  3. Skopiuj następujący kod do 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. Zastąp "Your input text" tekst zawartością, której chcesz użyć.

    Napiwek

    Rozmiar tekstu i stopień szczegółowości

    Domyślna maksymalna długość przesyłania tekstu to 10 000 znaków.

  5. Następnie uruchom aplikację za python pomocą polecenia w pliku Szybki start.

    python quickstart.py
    

Dokumentacja referencyjna | — artefakt kodu | źródłowego biblioteki (Maven)Przykłady |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Bieżąca wersja zestawu Java Development Kit (JDK)
  • Narzędzie kompilacji narzędzia Gradle lub inny menedżer zależności.
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób Content Sejf ty w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Wprowadź unikatową nazwę zasobu, wybierz subskrypcję i wybierz grupę zasobów, obsługiwany region (Wschodnie stany USA lub Europa Zachodnia) i obsługiwaną warstwę cenową. Następnie wybierz Utwórz.
    • Wdrożenie zasobu trwa kilka minut. Po zakończeniu wybierz pozycję Przejdź do zasobu. W okienku po lewej stronie w obszarze Zarządzanie zasobami wybierz pozycję Klucz subskrypcji i punkt końcowy. Punkt końcowy i jeden z kluczy są używane do wywoływania interfejsów API.

Konfigurowanie aplikacji

Utwórz nowy projekt Gradle.

W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego.

mkdir myapp && cd myapp

gradle init Uruchom polecenie z katalogu roboczego. To polecenie spowoduje utworzenie podstawowych plików kompilacji dla narzędzia Gradle, w tym pliku build.gradle.kts, który jest używany w czasie wykonywania do tworzenia i konfigurowania aplikacji.

gradle init --type basic

Po wyświetleniu monitu wybierz pozycję Język DSL, a następnie Kotlin.

W katalogu roboczym uruchom następujące polecenie, aby utworzyć folder źródłowy projektu:

mkdir -p src/main/java

Przejdź do nowego folderu i utwórz plik o nazwie Content Sejf tyQuickstart.java.

Instalowanie zestawu SDK klienta

W tym przewodniku Szybki start jest używany menedżer zależności narzędzia Gradle. Bibliotekę klienta i informacje dotyczące innych menedżerów zależności można znaleźć w repozytorium centralnym programu Maven.

Znajdź plik build.gradle.kts i otwórz go przy użyciu preferowanego środowiska IDE lub edytora tekstów. Następnie skopiuj poniższą konfigurację kompilacji. Ta konfiguracja definiuje projekt jako aplikację Java, której punktem wejścia jest klasa Content Sejf tyQuickstart. Importuje bibliotekę usługi 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")
}

Tworzenie zmiennych środowiskowych

W tym przykładzie napiszesz poświadczenia do zmiennych środowiskowych na komputerze lokalnym z uruchomioną aplikacją.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz artykuł Dotyczący zabezpieczeń usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  1. Aby ustawić zmienną CONTENT_SAFETY_KEY środowiskową, zastąp YOUR_CONTENT_SAFETY_KEY element jednym z kluczy zasobu.
  2. Aby ustawić zmienną CONTENT_SAFETY_ENDPOINT środowiskową, zastąp YOUR_CONTENT_SAFETY_ENDPOINT element punktem końcowym zasobu.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Analizowanie zawartości tekstowej

Otwórz zawartość Sejf tyQuickstart.java w preferowanym edytorze lub środowisku IDE i wklej następujący kod. Zastąp <your text sample> tekst zawartością, której chcesz użyć.

Napiwek

Rozmiar tekstu i stopień szczegółowości

Domyślna maksymalna długość przesyłania tekstu to 10 000 znaków.

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

Wróć do folderu głównego projektu i skompiluj aplikację za pomocą polecenia:

gradle build

Następnie uruchom go za pomocą gradle run polecenia :

gradle run

Wyjście

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

Dokumentacja referencyjna — przykłady | pakietu kodu | źródłowego biblioteki źródłowej (npm)Samples | |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Bieżąca wersja Node.js
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób Content Sejf ty w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Wprowadź unikatową nazwę zasobu, wybierz subskrypcję i wybierz grupę zasobów, obsługiwany region (Wschodnie stany USA lub Europa Zachodnia) i obsługiwaną warstwę cenową. Następnie wybierz Utwórz.
    • Wdrożenie zasobu trwa kilka minut. Po zakończeniu wybierz pozycję Przejdź do zasobu. W okienku po lewej stronie w obszarze Zarządzanie zasobami wybierz pozycję Klucz subskrypcji i punkt końcowy. Punkt końcowy i jeden z kluczy są używane do wywoływania interfejsów API.

Konfigurowanie aplikacji

Tworzenie nowej aplikacji Node.js. W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego.

mkdir myapp && cd myapp

Uruchom polecenie npm init, aby utworzyć aplikację Node przy użyciu pliku package.json.

npm init

Instalowanie zestawu SDK klienta

@azure-rest/ai-content-safety Zainstaluj pakiet npm:

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

Zainstaluj również moduł, dotenv aby używać zmiennych środowiskowych:

npm install dotenv

Plik package.json aplikacji zostanie zaktualizowany przy użyciu zależności.

Tworzenie zmiennych środowiskowych

W tym przykładzie napiszesz poświadczenia do zmiennych środowiskowych na komputerze lokalnym z uruchomioną aplikacją.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz artykuł Dotyczący zabezpieczeń usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  1. Aby ustawić zmienną CONTENT_SAFETY_KEY środowiskową, zastąp YOUR_CONTENT_SAFETY_KEY element jednym z kluczy zasobu.
  2. Aby ustawić zmienną CONTENT_SAFETY_ENDPOINT środowiskową, zastąp YOUR_CONTENT_SAFETY_ENDPOINT element punktem końcowym zasobu.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Analizowanie zawartości tekstowej

Utwórz nowy plik w katalogu index.js. Otwórz go w preferowanym edytorze lub środowisku IDE i wklej następujący kod. Zastąp <your text sample> tekst zawartością, której chcesz użyć.

Napiwek

Rozmiar tekstu i stopień szczegółowości

Domyślna maksymalna długość przesyłania tekstu to 10 000 znaków.

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

Uruchom aplikację, wykonując polecenie node dla pliku szybkiego startu.

node index.js

Wyjście

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

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

Skonfiguruj filtry dla każdej kategorii i przetestuj zestawy danych przy użyciu usługi Content Sejf ty Studio, wyeksportuj kod i wdróż.