Краткое руководство. Анализ содержимого изображения

Приступая к работе с Content Studio, REST API или клиентскими пакетами SDK для выполнения базовой модерации изображений. Служба безопасности содержимого Azure предоставляет алгоритмы ИИ для перетаскивания нежелательного содержимого. Выполните следующие действия, чтобы попробовать его.

Дополнительные сведения о модерации изображений см. на странице концепции категорий "Вред". Сведения о ограничениях ввода API см. в разделе "Требования к входным данным" в разделе "Обзор".

Примечание.

Примеры данных и кода могут содержать оскорбительный контент. Рекомендуется использовать усмотрение пользователя.

Необходимые компоненты

  • подписка Azure — создайте бесплатную учетную запись.
  • После получения подписки Azure создайте ресурс безопасности содержимого в портал Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, поддерживаемый регион (см . доступность региона) и поддерживаемую ценовую категорию. Затем выберите Создать.
    • Развертывание ресурса занимает несколько минут. После завершения выберите ресурс. В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Конечная точка и любой из ключей используются для вызова API.
  • Установленная программа cURL.

Анализ графического содержимого

В следующем разделе описывается пример запроса модерации изображений с помощью cURL.

Подготовка примера изображения

Выберите образ для анализа и скачайте его на устройство.

См . требования к входным данным для ограничений изображения. Если формат анимирован, служба извлекает первый кадр для анализа.

Вы можете ввести образ одним из двух методов: локальный файловый поток или URL-адрес хранилища BLOB-объектов.

  • Локальный файловый поток (рекомендуется): кодирование образа в base64. Для кодирования можно использовать веб-сайт, например codebeautify . Затем сохраните закодированную строку во временном расположении.

  • URL-адрес хранилища BLOB-объектов: отправьте изображение в учетную запись Хранилище BLOB-объектов Azure. Следуйте краткому руководству по хранилищу BLOB-объектов, чтобы узнать, как это сделать. Затем откройте обозреватель служба хранилища Azure и получите URL-адрес изображения. Сохраните его во временном расположении.

    Затем необходимо предоставить ресурс безопасности содержимого для чтения из ресурса служба хранилища Azure. Включите управляемое удостоверение, назначаемое системой для экземпляра безопасности содержимого ИИ Azure, и назначьте роль участника и владельца данных BLOB-объектов хранилища удостоверению:

    Внимание

    Продолжить можно только участником данных BLOB-объектов хранилища или владельцем данных BLOB-объектов хранилища.

    1. Включите управляемое удостоверение для экземпляра безопасности содержимого ИИ Azure.

      Снимок экрана: портал Azure включение управляемого удостоверения.

    2. Назначьте роль участника или владельца данных BLOB-объектов хранилища управляемому удостоверению. Все роли, выделенные ниже, должны работать.

      Снимок экрана: экран добавления назначения ролей в портал Azure.

      Снимок экрана: назначенные роли в портал Azure.

      Снимок экрана: роль управляемого удостоверения.

Анализ графического содержимого

Вставьте приведенную ниже команду в текстовый редактор и внесите следующие изменения.

  1. Замените <endpoint> URL-адрес конечной точки ресурса.
  2. Замените <your_subscription_key> собственным ключом.
  3. "image" Заполните поле в тексте поле полем "content" или полем"blobUrl". Пример: {"image": {"content": "<base_64_string>"} или {"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"
}'

Примечание.

Если вы используете URL-адрес хранилища BLOB-объектов, текст запроса должен выглядеть следующим образом:

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

Следующие поля должны быть включены в URL-адрес:

Имя. Обязательное? Описание Тип
Версия API Обязательное поле Это проверяемая версия API. Текущая версия: api-version=2024-09-01. Пример: <endpoint>/contentsafety/image:analyze?api-version=2024-09-01 Строка

Параметры в тексте запроса определяются в этой таблице:

Имя. Обязательное? Описание Тип
content Обязательное поле Содержимое или URL-адрес большого двоичного объекта изображения. Я могу быть байтами в кодировке Base64 или URL-адресом БОЛЬШОго двоичного объекта. Если оба заданы, запрос отказывается. Максимальный допустимый размер изображения составляет 7200 x 7200 пикселей, а максимальный размер файла — 4 МБ. Минимальный размер изображения составляет 50 пикселей x 50 пикселей. Строка
Категории Необязательно Предполагается, что это массив имен категорий. См. руководство по категориям вреда для списка доступных имен категорий. Если категории не указаны, используются все четыре категории. Мы используем несколько категорий, чтобы получить оценки в одном запросе. Строка
outputType Необязательно API модерации изображений поддерживается "FourSeverityLevels"только . Серьезность выходных данных в четырех уровнях. Значение может быть 0,2,4,6 Строка

Откройте окно командной строки и выполните команду cURL.

Выходные данные

Результаты модерации изображений отображаются в виде данных JSON в консоли. Например:

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

Поля JSON в выходных данных определяются здесь:

Имя Описание Тип
КатегорииAnalysis Каждый выходной класс, прогнозируемый API. Классификация может быть многометкой. Например, когда изображение передается в модель модерации изображений, его можно классифицировать как сексуальное содержимое, так и насилие. Категории вреда Строка
Уровень серьезности Уровень серьезности флага в каждой категории вреда. Категории вреда Целое

Справочная документация | Исходный код библиотеки | Пакет (NuGet) | Примеры

Необходимые компоненты

  • подписка Azure — создайте бесплатную учетную запись.
  • Интегрированная среда разработки Visual Studio с включенной рабочей нагрузкой .NET desktop development. Или если вы не планируете использовать интегрированную среду разработки Visual Studio, вам нужна текущая версия .NET Core.
  • Установленная среда выполнения .NET.
  • После получения подписки Azure создайте ресурс безопасности содержимого в портал Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, поддерживаемый регион (см . доступность региона) и поддерживаемую ценовую категорию. Затем выберите Создать.
    • Развертывание ресурса занимает несколько минут. После завершения выберите ресурс. В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Конечная точка и любой из ключей используются для вызова API.

Настройка приложения

Создайте приложение C#.

Откройте Visual Studio и в разделе "Начало работы " выберите "Создать проект". Задайте для фильтров шаблонов значение C#/All Platform/Console. Выберите консольное приложение (приложение командной строки, которое может работать в .NET в Windows, Linux и macOS) и нажмите кнопку "Далее". Измените имя проекта на ContentSafetyQuickstart и нажмите кнопку "Далее". Выберите .NET 6.0 или более поздней версии и нажмите кнопку "Создать ", чтобы создать проект.

Установка клиентского пакета SDK

После создания нового проекта установите клиентский пакет SDK, щелкнув правой кнопкой мыши решение проекта в Обозреватель решений и выбрав "Управление пакетами NuGet". В открывшемся диспетчере пакетов выберите Просмотр и выполните поиск по запросу Azure.AI.ContentSafety. Выберите Установить.

Создание переменной среды

В этом примере учетные данные записываются в переменные среды на локальном компьютере, на котором запущено приложение.

Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.

  • Чтобы задать CONTENT_SAFETY_KEY переменную среды, замените YOUR_CONTENT_SAFETY_KEY одним из ключей ресурса.
  • Чтобы задать переменную среды, замените YOUR_CONTENT_SAFETY_ENDPOINT конечной CONTENT_SAFETY_ENDPOINT точкой ресурса.

Внимание

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

После добавления переменных среды может потребоваться перезапустить все запущенные программы, которые будут считывать переменные среды, включая окно консоли.

Анализ графического содержимого

В каталоге проекта откройте файл Program.cs , созданный ранее. Вставьте приведенный ниже код.

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

Создайте папку sample_data в каталоге проекта и добавьте в него файл image.png .

Создайте и запустите приложение, выбрав "Начать отладку " в меню отладки в верхней части окна интегрированной среды разработки (или нажмите клавишу F5).

Справочная документация | Исходный код библиотеки | Пакет (PyPI) | Примеры |

Необходимые компоненты

  • подписка Azure — создайте бесплатную учетную запись.
  • После получения подписки Azure создайте ресурс безопасности содержимого в портал Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, поддерживаемый регион (см . доступность региона) и поддерживаемую ценовую категорию. Затем выберите Создать.
    • Развертывание ресурса занимает несколько минут. После завершения выберите ресурс. В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Конечная точка и любой из ключей используются для вызова API.
  • Python 3.8 или более поздней версии
    • Установка Python должна включать pip. Чтобы проверить, установлен ли pip, выполните команду pip --version в командной строке. Чтобы использовать pip, установите последнюю версию Python.

Создание переменной среды

В этом примере учетные данные записываются в переменные среды на локальном компьютере, на котором запущено приложение.

Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.

  • Чтобы задать CONTENT_SAFETY_KEY переменную среды, замените YOUR_CONTENT_SAFETY_KEY одним из ключей ресурса.
  • Чтобы задать переменную среды, замените YOUR_CONTENT_SAFETY_ENDPOINT конечной CONTENT_SAFETY_ENDPOINT точкой ресурса.

Внимание

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

После добавления переменных среды может потребоваться перезапустить все запущенные программы, которые будут считывать переменные среды, включая окно консоли.

Анализ графического содержимого

В следующем разделе описывается пример запроса с помощью пакета SDK для Python.

  1. Откройте командную строку, перейдите в папку проекта и создайте файл с именем quickstart.py.

  2. Выполните следующую команду, чтобы установить клиентская библиотека безопасности содержимого Azure:

    python -m pip install azure-ai-contentsafety
    
  3. Скопируйте следующий код в 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. "image.jpg" Замените "sample_data" путь и имя файла локального, который вы хотите использовать.

  5. Затем запустите приложение с python помощью команды в файле быстрого запуска.

    python quickstart.py
    

Справочная документация | Исходный код библиотеки | Артефакт (Maven) | Примеры

Необходимые компоненты

  • подписка Azure — создайте бесплатную учетную запись.
  • Текущая версия пакета средств разработки Java (JDK).
  • Средство сборки Gradle или другой диспетчер зависимостей.
  • После получения подписки Azure создайте ресурс безопасности содержимого в портал Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, поддерживаемый регион (см . доступность региона) и поддерживаемую ценовую категорию. Затем выберите Создать.
    • Развертывание ресурса занимает несколько минут. После завершения выберите ресурс. В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Конечная точка и любой из ключей используются для вызова API.

Настройка приложения

Создайте проект Gradle.

В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него.

mkdir myapp && cd myapp

Выполните команду gradle init из рабочей папки. Эта команда создает необходимые файлы сборки для Gradle, включая build.gradle.kts, который используется во время выполнения для создания и настройки приложения.

gradle init --type basic

Когда появится запрос на выбор предметно-ориентированного языка, выберите Kotlin.

В рабочей папке выполните следующую команду, чтобы создать исходную папку проекта.

mkdir -p src/main/java

Перейдите к новой папке и создайте файл с именем ContentSafetyQuickstart.java.

Кроме того, создайте src/resources папку в корне проекта и добавьте в нее образец.

Установка клиентского пакета SDK

В этом кратком руководстве используется диспетчер зависимостей Gradle. Клиентскую библиотеку и информацию для других диспетчеров зависимостей можно найти в центральном репозитории Maven.

Найдите файл build.gradle.kts и откройте его в предпочитаемой интегрированной среде разработки или текстовом редакторе. Затем скопируйте и вставьте в файл приведенную ниже конфигурацию сборки. Эта конфигурация определяет проект как приложение Java, точка входа которого — это класс ContentSafetyQuickstart. Она импортирует библиотеку Визуального распознавания ИИ Azure.

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

Создание переменной среды

В этом примере учетные данные записываются в переменные среды на локальном компьютере, на котором запущено приложение.

Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.

  • Чтобы задать CONTENT_SAFETY_KEY переменную среды, замените YOUR_CONTENT_SAFETY_KEY одним из ключей ресурса.
  • Чтобы задать переменную среды, замените YOUR_CONTENT_SAFETY_ENDPOINT конечной CONTENT_SAFETY_ENDPOINT точкой ресурса.

Внимание

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

После добавления переменных среды может потребоваться перезапустить все запущенные программы, которые будут считывать переменные среды, включая окно консоли.

Анализ графического содержимого

Откройте ContentSafetyQuickstart.java в предпочитаемом редакторе или интегрированной среде разработки и вставьте следующий код. Замените source переменную путем к образцу изображения.

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

Вернитесь в корневую папку проекта и выполните сборку приложения:

gradle build

Затем запустите его с помощью команды gradle run:

gradle run

Выходные данные

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

Справочная документация | Исходный код библиотеки | Пакет (npm) | Примеры |

Необходимые компоненты

  • подписка Azure — создайте бесплатную учетную запись.
  • Текущая версия Node.js
  • После получения подписки Azure создайте ресурс безопасности содержимого в портал Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, поддерживаемый регион (см . доступность региона) и поддерживаемую ценовую категорию. Затем выберите Создать.
    • Развертывание ресурса занимает несколько минут. После завершения выберите ресурс. В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Конечная точка и любой из ключей используются для вызова API.

Настройка приложения

Создайте новое приложение Node.js. В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него.

mkdir myapp && cd myapp

Выполните команду npm init, чтобы создать приложение узла с помощью файла package.json.

npm init

Кроме того, создайте /resources папку в корне проекта и добавьте в нее образец.

Установка клиентского пакета SDK

Установите пакет npm @azure-rest/ai-content-safety:

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

Кроме того, установите dotenv модуль для использования переменных среды:

npm install dotenv

Файл package.json этого приложения будет дополнен зависимостями.

Создание переменной среды

В этом примере учетные данные записываются в переменные среды на локальном компьютере, на котором запущено приложение.

Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.

  • Чтобы задать CONTENT_SAFETY_KEY переменную среды, замените YOUR_CONTENT_SAFETY_KEY одним из ключей ресурса.
  • Чтобы задать переменную среды, замените YOUR_CONTENT_SAFETY_ENDPOINT конечной CONTENT_SAFETY_ENDPOINT точкой ресурса.

Внимание

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

После добавления переменных среды может потребоваться перезапустить все запущенные программы, которые будут считывать переменные среды, включая окно консоли.

Анализ графического содержимого

Создайте файл в каталоге index.js. Откройте его в предпочитаемом редакторе или интегрированной среде разработки и вставьте следующий код. Замените image_path переменную путем к образцу изображения.

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

Запустите приложение, выполнив команду node для файла quickstart.

node index.js

Выходные данные

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

Очистка ресурсов

Если вы хотите очистить и удалить подписку на службы искусственного интеллекта Azure, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.

  • Категории вреда
  • Настройте фильтры для каждой категории и проверьте наборы данных с помощью Content Safety Studio, экспортируйте код и разверните его.