Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Azure Content Moderator será preterido a partir de fevereiro de 2024 e será desativado em 15 de março de 2027. Ele é substituído por Segurança de Conteúdo de IA do Azure, que oferece recursos avançados de IA e desempenho aprimorado.
Segurança de Conteúdo de IA do Azure é uma solução abrangente projetada para detectar conteúdo gerado pelo usuário prejudicial e gerado por IA em aplicativos e serviços. Segurança de Conteúdo de IA do Azure é adequado para muitos cenários, como marketplaces online, empresas de jogos, plataformas de mensagens sociais, empresas de mídia corporativa e provedores de soluções de educação K-12. Aqui está uma visão geral de suas funcionalidades e capacidades.
- APIs de Detecção de Texto e Imagem: Examine texto e imagens para conteúdo sexual, violência, ódio e automutilação com vários níveis de gravidade.
- Content Safety Studio: uma ferramenta online projetada para lidar com conteúdo potencialmente ofensivo, arriscado ou indesejável usando nossos modelos de ML de moderação de conteúdo mais recentes. Ele fornece modelos e fluxos de trabalho personalizados que permitem que os usuários criem seus próprios sistemas de moderação de conteúdo.
- Suporte de idioma: Segurança de Conteúdo de IA do Azure dá suporte a mais de 100 idiomas e é especificamente treinado em inglês, alemão, japonês, espanhol, francês, italiano, português e chinês.
Segurança de Conteúdo de IA do Azure fornece uma solução robusta e flexível para suas necessidades de moderação de conteúdo. Ao alternar do Content Moderator para o Segurança de Conteúdo de IA do Azure, você pode aproveitar as ferramentas e tecnologias mais recentes para garantir que seu conteúdo seja sempre moderado às suas especificações exatas.
Learn mais sobre Segurança de Conteúdo de IA do Azure e explorar como ele pode elevar sua estratégia de moderação de conteúdo.
Introdução à biblioteca de clientes do Content Moderator do Azure para .NET. Siga estas etapas para instalar o pacote NuGet e experimentar o código de exemplo para tarefas básicas.
O Content Moderator é um serviço de IA que permite lidar com conteúdo potencialmente ofensivo, arriscado ou indesejável. Use o serviço de moderação de conteúdo habilitado para IA para verificar texto, imagem e vídeos e aplicar sinalizadores de conteúdo automaticamente. Crie software de filtragem de conteúdo em seu aplicativo para cumprir os regulamentos ou manter o ambiente pretendido para seus usuários.
Use a biblioteca de clientes do Content Moderator para .NET para:
- Texto moderado
- Imagens moderadas
Documentação de referência | Código-fonte da biblioteca | Pacote (NuGet) | Exemplos
Pré-requisitos
- Azure assinatura – Criar uma gratuitamente
- A versão Visual Studio IDE ou atual do .NET Core.
- Depois de ter sua assinatura Azure, criar um recurso do Content Moderator no portal Azure para obter sua chave e ponto de extremidade. Aguarde a implantação e clique no botão Ir para o recurso .
- Você precisará da chave e do ponto de extremidade do recurso criado para conectar seu aplicativo ao Content Moderator. Você colará sua chave e endpoint no código abaixo posteriormente no guia de início rápido.
- Você pode usar o tipo de preço gratuito (
F0) para experimentar o serviço e atualizar posteriormente para uma camada paga para produção.
Configurando
Criar um novo aplicativo C#
Usando Visual Studio, crie um novo aplicativo .NET Core.
Instalar a biblioteca de clientes
Depois de criar um novo projeto, instale a biblioteca de clientes clicando com o botão direito do mouse na solução de projeto no Gerenciador de Soluções e selecionando Manage NuGet Packages. No gerenciador de pacotes que se abre, selecione Browse, marque Include prerelease e pesquise Microsoft.Azure.CognitiveServices.ContentModerator. Selecione a versão 2.0.0e, em seguida, Instale.
Dica
Deseja exibir todo o arquivo de código de início rápido ao mesmo tempo? Você pode encontrá-lo em GitHub, que contém os exemplos de código neste início rápido.
No diretório do projeto, abra o arquivo Program.cs em seu editor ou IDE preferencial. Adicione as seguintes using declarações:
using Microsoft.Azure.CognitiveServices.ContentModerator;
using Microsoft.Azure.CognitiveServices.ContentModerator.Models;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading;
Na classe Programa , crie variáveis para a chave e o ponto de extremidade do recurso.
Importante
Vá para o portal do Azure. Se o recurso Content Moderator que você criou na seção Pré-requisitos for implantado com êxito, clique no botão Ir para Recurso nas Próximas Etapas. Você pode encontrar sua chave e ponto de extremidade na página de chave e ponto de extremidade do recurso, no gerenciamento de recursos.
// Your Content Moderator subscription key is found in your Azure portal resource on the 'Keys' page.
private static readonly string SubscriptionKey = "PASTE_YOUR_CONTENT_MODERATOR_SUBSCRIPTION_KEY_HERE";
// Base endpoint URL. Found on 'Overview' page in Azure resource. For example: https://westus.api.cognitive.microsoft.com
private static readonly string Endpoint = "PASTE_YOUR_CONTENT_MODERATOR_ENDPOINT_HERE";
Importante
Lembre-se de remover a chave do código quando terminar e nunca postá-la publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como Azure Key Vault. Consulte o artigo Serviços de IA do Azure security para obter mais informações.
No método do main() aplicativo, adicione chamadas para os métodos usados neste início rápido. Você os criará mais tarde.
// Create an image review client
ContentModeratorClient clientImage = Authenticate(SubscriptionKey, Endpoint);
// Create a text review client
ContentModeratorClient clientText = Authenticate(SubscriptionKey, Endpoint);
// Create a human reviews client
ContentModeratorClient clientReviews = Authenticate(SubscriptionKey, Endpoint);
// Moderate text from text in a file
ModerateText(clientText, TextFile, TextOutputFile);
// Moderate images from list of image URLs
ModerateImages(clientImage, ImageUrlFile, ImageOutputFile);
Modelo de objeto
As classes a seguir lidam com alguns dos principais recursos do Content Moderator .NET biblioteca de clientes.
| Nome | Descrição |
|---|---|
| ContentModeratorClient | Essa classe é necessária para todas as funcionalidades do Content Moderator. Você cria uma instância com suas informações de assinatura e as usa para produzir instâncias de outras classes. |
| ImageModeration | Essa classe fornece a funcionalidade para analisar imagens para conteúdo adulto, informações pessoais ou rostos humanos. |
| TextModeration | Essa classe fornece a funcionalidade para analisar texto para linguagem, palavrões, erros e informações pessoais. |
Exemplos de código
Esses snippets de código mostram como realizar as seguintes tarefas com a biblioteca de clientes do Content Moderator para .NET:
Autenticar o cliente
Em um novo método, instancie objetos de cliente com seu endpoint e chave.
public static ContentModeratorClient Authenticate(string key, string endpoint)
{
ContentModeratorClient client = new ContentModeratorClient(new ApiKeyServiceClientCredentials(key));
client.Endpoint = endpoint;
return client;
}
Texto moderado
O código a seguir usa um cliente content moderator para analisar um corpo de texto e imprimir os resultados no console. Na raiz da classe Program , defina arquivos de entrada e saída:
// TEXT MODERATION
// Name of the file that contains text
private static readonly string TextFile = "TextFile.txt";
// The name of the file to contain the output from the evaluation.
private static string TextOutputFile = "TextModerationOutput.txt";
Em seguida, na raiz do projeto, adicione um arquivo TextFile.txt . Adicione seu próprio texto a este arquivo ou use o seguinte texto de exemplo:
Is this a grabage email abcdef@abcd.com, phone: 4255550111, IP: 255.255.255.255, 1234 Main Boulevard, Panapolis WA 96555.
<offensive word> is the profanity here. Is this information PII? phone 4255550111
Em seguida, defina o método de moderação de texto em algum lugar da classe Program :
/*
* TEXT MODERATION
* This example moderates text from file.
*/
public static void ModerateText(ContentModeratorClient client, string inputFile, string outputFile)
{
Console.WriteLine("--------------------------------------------------------------");
Console.WriteLine();
Console.WriteLine("TEXT MODERATION");
Console.WriteLine();
// Load the input text.
string text = File.ReadAllText(inputFile);
// Remove carriage returns
text = text.Replace(Environment.NewLine, " ");
// Convert string to a byte[], then into a stream (for parameter in ScreenText()).
byte[] textBytes = Encoding.UTF8.GetBytes(text);
MemoryStream stream = new MemoryStream(textBytes);
Console.WriteLine("Screening {0}...", inputFile);
// Format text
// Save the moderation results to a file.
using (StreamWriter outputWriter = new StreamWriter(outputFile, false))
{
using (client)
{
// Screen the input text: check for profanity, classify the text into three categories,
// do autocorrect text, and check for personally identifying information (PII)
outputWriter.WriteLine("Autocorrect typos, check for matching terms, PII, and classify.");
// Moderate the text
var screenResult = client.TextModeration.ScreenText("text/plain", stream, "eng", true, true, null, true);
outputWriter.WriteLine(JsonConvert.SerializeObject(screenResult, Formatting.Indented));
}
outputWriter.Flush();
outputWriter.Close();
}
Console.WriteLine("Results written to {0}", outputFile);
Console.WriteLine();
}
Imagens moderadas
O código a seguir usa um cliente content moderator, juntamente com um objeto ImageModeration , para analisar imagens remotas para conteúdo adulto e picante.
Nota
Você também pode analisar o conteúdo de uma imagem local. Consulte a documentação de referência para métodos e operações que funcionam com imagens locais.
Obter imagens de exemplo
Defina os arquivos de entrada e saída na raiz da classe Program :
// IMAGE MODERATION
//The name of the file that contains the image URLs to evaluate.
private static readonly string ImageUrlFile = "ImageFiles.txt";
// The name of the file to contain the output from the evaluation.
private static string ImageOutputFile = "ImageModerationOutput.json";
Em seguida, crie o arquivo de entrada ,ImageFiles.txt, na raiz do projeto. Neste arquivo, você adiciona as URLs de imagens a serem analisadas— uma URL em cada linha. Você pode usar as seguintes imagens de exemplo:
https://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg
https://moderatorsampleimages.blob.core.windows.net/samples/sample5.png
Definir classe auxiliar
Adicione a seguinte definição de classe na classe Program . Essa classe interna lidará com os resultados de moderação de imagem.
// Contains the image moderation results for an image,
// including text and face detection results.
public class EvaluationData
{
// The URL of the evaluated image.
public string ImageUrl;
// The image moderation results.
public Evaluate ImageModeration;
// The text detection results.
public OCR TextDetection;
// The face detection results;
public FoundFaces FaceDetection;
}
Definir o método de moderação de imagem
O método a seguir percorre as URLs de imagem em um arquivo de texto, cria uma instância EvaluationData e analisa a imagem em busca de conteúdo adulto/picante, texto e rostos humanos. Em seguida, ele adiciona a instância final do EvaluationData a uma lista e grava a lista completa de dados retornados no console.
Iterar através de imagens
/*
* IMAGE MODERATION
* This example moderates images from URLs.
*/
public static void ModerateImages(ContentModeratorClient client, string urlFile, string outputFile)
{
Console.WriteLine("--------------------------------------------------------------");
Console.WriteLine();
Console.WriteLine("IMAGE MODERATION");
Console.WriteLine();
// Create an object to store the image moderation results.
List<EvaluationData> evaluationData = new List<EvaluationData>();
using (client)
{
// Read image URLs from the input file and evaluate each one.
using (StreamReader inputReader = new StreamReader(urlFile))
{
while (!inputReader.EndOfStream)
{
string line = inputReader.ReadLine().Trim();
if (line != String.Empty)
{
Console.WriteLine("Evaluating {0}...", Path.GetFileName(line));
var imageUrl = new BodyModel("URL", line.Trim());
Analisar conteúdo
Para obter mais informações sobre os atributos de imagem que o Content Moderator analisa, consulte o guia conceitos de moderação de imagem.
var imageData = new EvaluationData
{
ImageUrl = imageUrl.Value,
// Evaluate for adult and racy content.
ImageModeration =
client.ImageModeration.EvaluateUrlInput("application/json", imageUrl, true)
};
Thread.Sleep(1000);
// Detect and extract text.
imageData.TextDetection =
client.ImageModeration.OCRUrlInput("eng", "application/json", imageUrl, true);
Thread.Sleep(1000);
// Detect faces.
imageData.FaceDetection =
client.ImageModeration.FindFacesUrlInput("application/json", imageUrl, true);
Thread.Sleep(1000);
// Add results to Evaluation object
evaluationData.Add(imageData);
}
}
}
Gravar resultados de moderação no arquivo
// Save the moderation results to a file.
using (StreamWriter outputWriter = new StreamWriter(outputFile, false))
{
outputWriter.WriteLine(JsonConvert.SerializeObject(
evaluationData, Formatting.Indented));
outputWriter.Flush();
outputWriter.Close();
}
Console.WriteLine();
Console.WriteLine("Image moderation results written to output file: " + outputFile);
Console.WriteLine();
}
}
Executar o aplicativo
Execute o aplicativo clicando no botão Depurar na parte superior da janela do IDE.
Limpar recursos
Se você quiser limpar e remover uma assinatura Serviços de IA do Azure, poderá excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui outros recursos associados a ele.
Próximas etapas
Neste início rápido, você aprendeu a usar o Content Moderator .NET biblioteca para realizar tarefas de moderação. Em seguida, saiba mais sobre a moderação de imagens ou outras mídias lendo um guia conceitual.
Introdução à biblioteca de clientes do Content Moderator do Azure para Java. Siga estas etapas para instalar o pacote Maven e experimentar o código de exemplo para tarefas básicas.
O Content Moderator é um serviço de IA que permite lidar com conteúdo potencialmente ofensivo, arriscado ou indesejável. Use o serviço de moderação de conteúdo habilitado para IA para verificar texto, imagem e vídeos e aplicar sinalizadores de conteúdo automaticamente. Crie software de filtragem de conteúdo em seu aplicativo para cumprir os regulamentos ou manter o ambiente pretendido para seus usuários.
Use a biblioteca cliente do Content Moderator em Java para:
- Texto moderado
- Imagens moderadas
Reference documentation | Library source code |Artifact (Maven) | Samples
Pré-requisitos
- Uma assinatura Azure – Criar uma gratuitamente
- A versão atual do JDK (Java Development Kit)
- A ferramenta de construção Gradle ou outro gerenciador de dependências.
- Depois de ter sua assinatura Azure, criar um recurso do Content Moderator no portal Azure para obter sua chave e ponto de extremidade. Aguarde a implantação e clique no botão Ir para o recurso .
- Você precisará da chave e do ponto de extremidade do recurso criado para conectar seu aplicativo ao Content Moderator. Você colará sua chave e endpoint no código abaixo posteriormente no guia de início rápido.
- Você pode usar o tipo de preço gratuito (
F0) para experimentar o serviço e atualizar posteriormente para uma camada paga para produção.
Configurando
Criar um novo projeto do Gradle
Em uma janela do console (como cmd, PowerShell ou Bash), crie um novo diretório para seu aplicativo e navegue até ele.
mkdir myapp && cd myapp
Execute o comando gradle init a partir do seu diretório de trabalho. Esse comando criará arquivos de build essenciais para o Gradle, incluindo build.gradle.kts, que é usado em runtime para criar e configurar seu aplicativo.
gradle init --type basic
Quando solicitado a escolher uma DSL, selecione Kotlin.
Instalar a biblioteca de clientes
Localize build.gradle.kts e abra-o com seu IDE ou editor de texto preferido. Em seguida, copie a configuração de build a seguir. Essa configuração define o projeto como um aplicativo Java cujo ponto de entrada é a classe ContentModeratorQuickstart. Ele importa a biblioteca de clientes do Content Moderator e o sdk GSON para serialização JSON.
plugins {
java
application
}
application{
mainClassName = "ContentModeratorQuickstart"
}
repositories{
mavenCentral()
}
dependencies{
compile(group = "com.microsoft.azure.cognitiveservices", name = "azure-cognitiveservices-contentmoderator", version = "1.0.2-beta")
compile(group = "com.google.code.gson", name = "gson", version = "2.8.5")
}
Criar um arquivo de Java
No diretório de trabalho, execute o seguinte comando para criar uma pasta de origem do projeto:
mkdir -p src/main/java
Navegue até a nova pasta e crie um arquivo chamado ContentModeratorQuickstart.java. Abra-o em seu editor preferencial ou IDE e adicione as seguintes import instruções:
import com.google.gson.*;
import com.microsoft.azure.cognitiveservices.vision.contentmoderator.*;
import com.microsoft.azure.cognitiveservices.vision.contentmoderator.models.*;
import java.io.*;
import java.util.*;
import java.util.concurrent.*;
Dica
Deseja exibir todo o arquivo de código de início rápido ao mesmo tempo? Você pode encontrá-lo em GitHub, que contém os exemplos de código neste início rápido.
Na classe ContentModeratorQuickstart do aplicativo, crie variáveis para a chave e o ponto de extremidade do recurso.
Importante
Vá para o portal do Azure. Se o recurso Content Moderator que você criou na seção Pré-requisitos for implantado com êxito, clique no botão Ir para Recurso nas Próximas Etapas. Você pode encontrar sua chave e ponto de extremidade na página de chave e ponto de extremidade do recurso, no gerenciamento de recursos.
private static final String subscriptionKey = "<your-subscription-key>";
private static final String endpoint = "<your-api-endpoint>";
Importante
Lembre-se de remover a chave do código quando terminar e nunca postá-la publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como Azure Key Vault. Consulte o artigo Serviços de IA do Azure security para obter mais informações.
No método principal do aplicativo, adicione chamadas para os métodos usados neste início rápido. Você definirá esses métodos mais tarde.
// Create a List in which to store the image moderation results.
List<EvaluationData> evaluationData = new ArrayList<EvaluationData>();
// Moderate URL images
moderateImages(client, evaluationData);
// Moderate text from file
moderateText(client);
// Create a human review
humanReviews(client);
Modelo de objeto
As classes a seguir lidam com alguns dos principais recursos da biblioteca de cliente Java do Content Moderator.
| Nome | Descrição |
|---|---|
| ContentModeratorClient | Essa classe é necessária para todas as funcionalidades do Content Moderator. Você cria uma instância com suas informações de assinatura e as usa para produzir instâncias de outras classes. |
| ImageModeration | Essa classe fornece a funcionalidade para analisar imagens para conteúdo adulto, informações pessoais ou rostos humanos. |
| TextModerations | Essa classe fornece a funcionalidade para analisar texto para linguagem, palavrões, erros e informações pessoais. |
Exemplos de código
Esses snippets de código mostram como realizar as seguintes tarefas com a biblioteca de clientes do Content Moderator para Java:
Autenticar o cliente
No método main do aplicativo, crie um objeto ContentModeratorClient usando o valor do endpoint da assinatura e a chave de assinatura.
// Set CONTENT_MODERATOR_SUBSCRIPTION_KEY in your environment settings, with
// your key as its value.
// Set COMPUTER_MODERATOR_ENDPOINT in your environment variables with your Azure
// endpoint.
ContentModeratorClient client = ContentModeratorManager.authenticate(AzureRegionBaseUrl.fromString(endpoint),
"CONTENT_MODERATOR_SUBSCRIPTION_KEY");
Texto moderado
Configurar texto de exemplo
Na parte superior da classe ContentModeratorQuickstart , defina uma referência a um arquivo de texto local. Adicione um arquivo .txt ao diretório do projeto e insira o texto que você deseja analisar.
// TEXT MODERATION variable
private static File textFile = new File("src\\main\\resources\\TextModeration.txt");
Analisar texto
Crie um novo método que leia o arquivo .txt e chame o método screenText em cada linha.
public static void moderateText(ContentModeratorClient client) {
System.out.println("---------------------------------------");
System.out.println("MODERATE TEXT");
System.out.println();
try (BufferedReader inputStream = new BufferedReader(new FileReader(textFile))) {
String line;
Screen textResults = null;
// For formatting the printed results
Gson gson = new GsonBuilder().setPrettyPrinting().create();
while ((line = inputStream.readLine()) != null) {
if (line.length() > 0) {
textResults = client.textModerations().screenText("text/plain", line.getBytes(), null);
// Uncomment below line to print in console
// System.out.println(gson.toJson(textResults).toString());
}
}
Imprimir resultados de moderação de texto
Adicione o código a seguir para imprimir os resultados de moderação em um arquivo .json no diretório do projeto.
System.out.println("Text moderation status: " + textResults.status().description());
System.out.println();
// Create output results file to TextModerationOutput.json
BufferedWriter writer = new BufferedWriter(
new FileWriter(new File("src\\main\\resources\\TextModerationOutput.json")));
writer.write(gson.toJson(textResults).toString());
System.out.println("Check TextModerationOutput.json to see printed results.");
System.out.println();
writer.close();
Feche a declaração try e a declaração catch para concluir o método.
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
Imagens moderadas
Configurar imagem de exemplo
Em um novo método, construa um objeto BodyModelModel com uma determinada cadeia de caracteres de URL que aponta para uma imagem.
public static void moderateImages(ContentModeratorClient client, List<EvaluationData> resultsList) {
System.out.println();
System.out.println("---------------------------------------");
System.out.println("MODERATE IMAGES");
System.out.println();
try {
String urlString = "https://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg";
// Evaluate each line of text
BodyModelModel url = new BodyModelModel();
url.withDataRepresentation("URL");
url.withValue(urlString);
// Save to EvaluationData class for later
EvaluationData imageData = new EvaluationData();
imageData.ImageUrl = url.value();
Definir classe auxiliar
Em seguida, no arquivo ContentModeratorQuickstart.java , adicione a seguinte definição de classe dentro da classe ContentModeratorQuickstart . Essa classe interna é usada no processo de moderação de imagem.
// Contains the image moderation results for an image, including text and face
// detection from the image.
public static class EvaluationData {
// The URL of the evaluated image.
public String ImageUrl;
// The image moderation results.
public Evaluate ImageModeration;
// The text detection results.
public OCR TextDetection;
// The face detection results;
public FoundFaces FaceDetection;
}
Analisar conteúdo
Essa linha de código verifica a imagem na URL fornecida para conteúdo adulto ou picante. Consulte o guia conceitual de moderação de imagem para obter informações sobre esses termos.
// Evaluate for adult and racy content.
imageData.ImageModeration = client.imageModerations().evaluateUrlInput("application/json", url,
new EvaluateUrlInputOptionalParameter().withCacheImage(true));
Thread.sleep(1000);
Verificar se há texto
Essa linha de código verifica a imagem em busca de texto visível.
// Detect and extract text from image.
imageData.TextDetection = client.imageModerations().oCRUrlInput("eng", "application/json", url,
new OCRUrlInputOptionalParameter().withCacheImage(true));
Thread.sleep(1000);
Verificar se há rostos
Essa linha de código verifica a imagem em busca de rostos humanos.
// Detect faces.
imageData.FaceDetection = client.imageModerations().findFacesUrlInput("application/json", url,
new FindFacesUrlInputOptionalParameter().withCacheImage(true));
Thread.sleep(1000);
Por fim, armazene as informações retornadas na EvaluationData lista.
resultsList.add(imageData);
Imprimir resultados
Após o while loop, adicione o código a seguir, que imprime os resultados no console e em um arquivo de saída, src/main/resources/ModerationOutput.json.
// Save the moderation results to a file.
// ModerationOutput.json contains the output from the evaluation.
// Relative paths are relative to the execution directory (where pom.xml is
// located).
BufferedWriter writer = new BufferedWriter(
new FileWriter(new File("src\\main\\resources\\ImageModerationOutput.json")));
// For formatting the printed results
Gson gson = new GsonBuilder().setPrettyPrinting().create();
writer.write(gson.toJson(resultsList).toString());
System.out.println("Check ImageModerationOutput.json to see printed results.");
writer.close();
Feche a try instrução e adicione uma catch instrução para concluir o método.
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
Executar o aplicativo
Você pode criar o aplicativo com:
gradle build
Execute o aplicativo com o gradle run comando:
gradle run
Em seguida, navegue até o arquivo src/main/resources/ModerationOutput.json e exiba os resultados da moderação de conteúdo.
Limpar recursos
Se você quiser limpar e remover uma assinatura Serviços de IA do Azure, poderá excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui outros recursos associados a ele.
Próximas etapas
Neste início rápido, você aprendeu a usar o Content Moderator Java biblioteca para executar tarefas de moderação. Em seguida, saiba mais sobre a moderação de imagens ou outras mídias lendo um guia conceitual.
Introdução à biblioteca de clientes do Content Moderator do Azure para Python. Siga estas etapas para instalar o pacote PiPy e experimentar o código de exemplo para tarefas básicas.
O Content Moderator é um serviço de IA que permite lidar com conteúdo potencialmente ofensivo, arriscado ou indesejável. Use o serviço de moderação de conteúdo habilitado para IA para verificar texto, imagem e vídeos e aplicar sinalizadores de conteúdo automaticamente. Crie software de filtragem de conteúdo em seu aplicativo para cumprir os regulamentos ou manter o ambiente pretendido para seus usuários.
Use a biblioteca cliente do Content Moderator para Python para:
- Texto moderado
- Usar uma lista de termos personalizados
- Imagens moderadas
- Usar uma lista de imagens personalizada
Documentação de referência | Código-fonte da biblioteca | Pacote (PiPy) | Exemplos
Pré-requisitos
- Azure assinatura – Criar uma gratuitamente
-
Python 3.x
- Sua instalação Python deve incluir pip. Você pode verificar se o pip foi instalado executando
pip --versionna linha de comando. Para obter o pip, instale a versão mais recente do Python.
- Sua instalação Python deve incluir pip. Você pode verificar se o pip foi instalado executando
- Depois de ter sua assinatura do Azure, crie um recurso do Content Moderator no portal do Azure para obter a chave e o ponto de extremidade. Aguarde a implantação e clique no botão Ir para o recurso .
- Você precisará da chave e do ponto de extremidade do recurso criado para conectar seu aplicativo ao Content Moderator. Você colará sua chave e endpoint no código abaixo posteriormente no guia de início rápido.
- Você pode usar o tipo de preço gratuito (
F0) para experimentar o serviço e atualizar posteriormente para uma camada paga para produção.
Configurando
Instalar a biblioteca de clientes
Depois de instalar Python, você pode instalar a biblioteca de clientes do Content Moderator com o seguinte comando:
pip install --upgrade azure-cognitiveservices-vision-contentmoderator
Criar um novo aplicativo Python
Crie um novo script de Python e abra-o em seu editor ou IDE preferencial. Em seguida, adicione as instruções a seguir import à parte superior do arquivo.
import os.path
from pprint import pprint
import time
from io import BytesIO
from random import random
import uuid
from azure.cognitiveservices.vision.contentmoderator import ContentModeratorClient
import azure.cognitiveservices.vision.contentmoderator.models
from msrest.authentication import CognitiveServicesCredentials
Dica
Deseja exibir todo o arquivo de código de início rápido ao mesmo tempo? Você pode encontrá-lo em GitHub, que contém os exemplos de código neste início rápido.
Em seguida, crie variáveis para a localização e a chave do ponto de extremidade de seu recurso.
Importante
Vá para o portal do Azure. Se o recurso Content Moderator que você criou na seção Pré-requisitos for implantado com êxito, clique no botão Ir para Recurso nas Próximas Etapas. Você pode encontrar sua chave e ponto de extremidade na página de chave e ponto de extremidade do recurso, no gerenciamento de recursos.
CONTENT_MODERATOR_ENDPOINT = "PASTE_YOUR_CONTENT_MODERATOR_ENDPOINT_HERE"
subscription_key = "PASTE_YOUR_CONTENT_MODERATOR_SUBSCRIPTION_KEY_HERE"
Importante
Lembre-se de remover a chave do código quando terminar e nunca postá-la publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como Azure Key Vault. Consulte o artigo Serviços de IA do Azure security para obter mais informações.
Modelo de objeto
As classes a seguir lidam com alguns dos principais recursos da biblioteca de cliente Content Moderator para Python.
| Nome | Descrição |
|---|---|
| ContentModeratorClient | Essa classe é necessária para todas as funcionalidades do Content Moderator. Você cria uma instância com suas informações de assinatura e as usa para produzir instâncias de outras classes. |
| ImageModerationOperations | Essa classe fornece a funcionalidade para analisar imagens para conteúdo adulto, informações pessoais ou rostos humanos. |
| TextModerationOperations | Essa classe fornece a funcionalidade para analisar texto para linguagem, palavrões, erros e informações pessoais. |
Exemplos de código
Esses snippets de código mostram como realizar as seguintes tarefas com a biblioteca de clientes do Content Moderator para Python:
- Autenticar o cliente
- Texto moderado
- Usar uma lista de termos personalizados
- Imagens moderadas
- Usar uma lista de imagens personalizada
Autenticar o cliente
Instancie um cliente com o endpoint e a chave de API. Crie um objeto [CognitiveServicesCredentials](/python/api/msrest/msrest.authentication.cognitiveservicescredentials) com a sua chave e use-o com seu endpoint para criar um objeto ContentModeratorClient.
client = ContentModeratorClient(
endpoint=CONTENT_MODERATOR_ENDPOINT,
credentials=CognitiveServicesCredentials(subscription_key)
)
Texto moderado
O código a seguir usa um cliente content moderator para analisar um corpo de texto e imprimir os resultados no console. Primeiro, crie um text_files/ pasta na raiz do projeto e adicione um arquivo content_moderator_text_moderation.txt . Adicione seu próprio texto a este arquivo ou use o seguinte texto de exemplo:
Is this a grabage email abcdef@abcd.com, phone: 4255550111, IP: 255.255.255.255, 1234 Main Boulevard, Panapolis WA 96555.
<offensive word> is the profanity here. Is this information PII? phone 2065550111
Adicione uma referência à nova pasta.
TEXT_FOLDER = os.path.join(os.path.dirname(
os.path.realpath(__file__)), "text_files")
Em seguida, adicione o código a seguir ao script Python.
# Screen the input text: check for profanity,
# do autocorrect text, and check for personally identifying
# information (PII)
with open(os.path.join(TEXT_FOLDER, 'content_moderator_text_moderation.txt'), "rb") as text_fd:
screen = client.text_moderation.screen_text(
text_content_type="text/plain",
text_content=text_fd,
language="eng",
autocorrect=True,
pii=True
)
assert isinstance(screen, Screen)
pprint(screen.as_dict())
Usar uma lista de termos personalizados
O código a seguir mostra como gerenciar uma lista de termos personalizados para moderação de texto. Você pode usar a classe ListManagementTermListsOperations para criar uma lista de termos, gerenciar os termos individuais e exibir outros corpos de texto nela.
Obter texto de exemplo
Para usar este exemplo, você deve criar um text_files/ pasta na raiz do projeto e adicionar um arquivo content_moderator_term_list.txt . Esse arquivo deve conter texto orgânico que será confrontado com a lista de termos. Você pode usar o seguinte texto de exemplo:
This text contains the terms "term1" and "term2".
Adicione uma referência à pasta se você ainda não definiu uma.
TEXT_FOLDER = os.path.join(os.path.dirname(
os.path.realpath(__file__)), "text_files")
Criar uma lista
Adicione o código a seguir ao script Python para criar uma lista de termos personalizada e salvar seu valor de ID.
#
# Create list
#
print("\nCreating list")
custom_list = client.list_management_term_lists.create(
content_type="application/json",
body={
"name": "Term list name",
"description": "Term list description",
}
)
print("List created:")
assert isinstance(custom_list, TermList)
pprint(custom_list.as_dict())
list_id = custom_list.id
Definir detalhes da lista
Você pode usar a ID de uma lista para editar seu nome e descrição.
#
# Update list details
#
print("\nUpdating details for list {}".format(list_id))
updated_list = client.list_management_term_lists.update(
list_id=list_id,
content_type="application/json",
body={
"name": "New name",
"description": "New description"
}
)
assert isinstance(updated_list, TermList)
pprint(updated_list.as_dict())
Adicionar um termo à lista
O código a seguir adiciona os termos "term1" e "term2" à lista.
#
# Add terms
#
print("\nAdding terms to list {}".format(list_id))
client.list_management_term.add_term(
list_id=list_id,
term="term1",
language="eng"
)
client.list_management_term.add_term(
list_id=list_id,
term="term2",
language="eng"
)
Obter todos os termos na lista
Você pode usar a ID da lista para retornar todos os termos da lista.
#
# Get all terms ids
#
print("\nGetting all term IDs for list {}".format(list_id))
terms = client.list_management_term.get_all_terms(
list_id=list_id, language="eng")
assert isinstance(terms, Terms)
terms_data = terms.data
assert isinstance(terms_data, TermsData)
pprint(terms_data.as_dict())
Atualizar o índice de lista
Sempre que você adicionar ou remover termos da lista, deverá atualizar o índice antes de poder usar a lista atualizada.
#
# Refresh the index
#
print("\nRefreshing the search index for list {}".format(list_id))
refresh_index = client.list_management_term_lists.refresh_index_method(
list_id=list_id, language="eng")
assert isinstance(refresh_index, RefreshIndex)
pprint(refresh_index.as_dict())
print("\nWaiting {} minutes to allow the server time to propagate the index changes.".format(
LATENCY_DELAY))
time.sleep(LATENCY_DELAY * 60)
Verifique o texto em relação à lista
A principal funcionalidade da lista de termos personalizados é comparar um corpo de texto com a lista e descobrir se há termos correspondentes.
#
# Screen text
#
with open(os.path.join(TEXT_FOLDER, 'content_moderator_term_list.txt'), "rb") as text_fd:
screen = client.text_moderation.screen_text(
text_content_type="text/plain",
text_content=text_fd,
language="eng",
autocorrect=False,
pii=False,
list_id=list_id
)
assert isinstance(screen, Screen)
pprint(screen.as_dict())
Remover um termo de uma lista
O código a seguir remove o termo "term1" da lista.
#
# Remove terms
#
term_to_remove = "term1"
print("\nRemove term {} from list {}".format(term_to_remove, list_id))
client.list_management_term.delete_term(
list_id=list_id,
term=term_to_remove,
language="eng"
)
Remover todos os termos de uma lista
Use o código a seguir para limpar uma lista de todos os seus termos.
#
# Delete all terms
#
print("\nDelete all terms in the image list {}".format(list_id))
client.list_management_term.delete_all_terms(
list_id=list_id, language="eng")
Excluir uma lista
Use o código a seguir para excluir uma lista de termos personalizada.
#
# Delete list
#
print("\nDelete the term list {}".format(list_id))
client.list_management_term_lists.delete(list_id=list_id)
Imagens moderadas
O código a seguir usa um cliente Content Moderator, juntamente com um objeto ImageModerationOperations, para analisar imagens em busca de conteúdo adulto e impróprio.
Obter imagens de exemplo
Defina uma referência a algumas imagens a serem analisadas.
IMAGE_LIST = [
"https://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample5.png"
]
Em seguida, adicione o seguinte código para iterar através de suas imagens. O restante do código nesta seção entrará nesse loop.
for image_url in IMAGE_LIST:
print("\nEvaluate image {}".format(image_url))
Verificar se há conteúdo adulto/impróprio
O código a seguir verifica a imagem na URL fornecida para conteúdo adulto ou picante e imprime os resultados no console. Consulte o guia de conceitos de moderação de imagem para obter informações sobre o que esses termos significam.
print("\nEvaluate for adult and racy content.")
evaluation = client.image_moderation.evaluate_url_input(
content_type="application/json",
cache_image=True,
data_representation="URL",
value=image_url
)
assert isinstance(evaluation, Evaluate)
pprint(evaluation.as_dict())
Verificar se há texto visível
O código a seguir verifica a imagem quanto ao conteúdo de texto visível e imprime os resultados no console.
print("\nDetect and extract text.")
evaluation = client.image_moderation.ocr_url_input(
language="eng",
content_type="application/json",
data_representation="URL",
value=image_url,
cache_image=True,
)
assert isinstance(evaluation, OCR)
pprint(evaluation.as_dict())
Verificar se há rostos
O código a seguir verifica a imagem em busca de rostos humanos e imprime os resultados no console.
print("\nDetect faces.")
evaluation = client.image_moderation.find_faces_url_input(
content_type="application/json",
cache_image=True,
data_representation="URL",
value=image_url
)
assert isinstance(evaluation, FoundFaces)
pprint(evaluation.as_dict())
Usar uma lista de imagens personalizada
O código a seguir mostra como gerenciar uma lista personalizada de imagens para moderação de imagem. Esse recurso é útil se sua plataforma recebe frequentemente instâncias do mesmo conjunto de imagens que você deseja exibir. Mantendo uma lista dessas imagens específicas, você pode melhorar o desempenho. A classe ListManagementImageListsOperations permite que você crie uma lista de imagens, gerencie as imagens individuais na lista e compare outras imagens com ela.
Crie as variáveis de texto a seguir para armazenar as URLs de imagem que você usará neste cenário.
IMAGE_LIST = {
"Sports": [
"https://moderatorsampleimages.blob.core.windows.net/samples/sample4.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample6.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample9.png"
],
"Swimsuit": [
"https://moderatorsampleimages.blob.core.windows.net/samples/sample1.jpg",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample3.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample4.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png"
]
}
IMAGES_TO_MATCH = [
"https://moderatorsampleimages.blob.core.windows.net/samples/sample1.jpg",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample4.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample5.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png"
]
Nota
Essa não é a própria lista, mas uma lista informal de imagens que serão adicionadas na add images seção do código.
Criar uma lista de imagens
Adicione o código a seguir para criar uma lista de imagens e salvar uma referência à sua ID.
#
# Create list
#
print("Creating list MyList\n")
custom_list = client.list_management_image_lists.create(
content_type="application/json",
body={
"name": "MyList",
"description": "A sample list",
"metadata": {
"key_one": "Acceptable",
"key_two": "Potentially racy"
}
}
)
print("List created:")
assert isinstance(custom_list, ImageList)
pprint(custom_list.as_dict())
list_id = custom_list.id
Adicionar imagens a uma lista
O código a seguir adiciona todas as suas imagens à lista.
print("\nAdding images to list {}".format(list_id))
index = {} # Keep an index url to id for later removal
for label, urls in IMAGE_LIST.items():
for url in urls:
image = add_images(list_id, url, label)
if image:
index[url] = image.content_id
Defina a função auxiliar add_images em outro lugar em seu script.
#
# Add images
#
def add_images(list_id, image_url, label):
"""Generic add_images from url and label."""
print("\nAdding image {} to list {} with label {}.".format(
image_url, list_id, label))
try:
added_image = client.list_management_image.add_image_url_input(
list_id=list_id,
content_type="application/json",
data_representation="URL",
value=image_url,
label=label
)
except APIErrorException as err:
# sample4 will fail
print("Unable to add image to list: {}".format(err))
else:
assert isinstance(added_image, Image)
pprint(added_image.as_dict())
return added_image
Obter imagens em uma lista
O código a seguir imprime os nomes de todas as imagens em sua lista.
#
# Get all images ids
#
print("\nGetting all image IDs for list {}".format(list_id))
image_ids = client.list_management_image.get_all_image_ids(list_id=list_id)
assert isinstance(image_ids, ImageIds)
pprint(image_ids.as_dict())
Atualizar detalhes da lista
Você pode usar a ID da lista para atualizar o nome e a descrição da lista.
#
# Update list details
#
print("\nUpdating details for list {}".format(list_id))
updated_list = client.list_management_image_lists.update(
list_id=list_id,
content_type="application/json",
body={
"name": "Swimsuits and sports"
}
)
assert isinstance(updated_list, ImageList)
pprint(updated_list.as_dict())
Obter detalhes da lista
Use o código a seguir para imprimir os detalhes atuais da sua lista.
#
# Get list details
#
print("\nGetting details for list {}".format(list_id))
list_details = client.list_management_image_lists.get_details(
list_id=list_id)
assert isinstance(list_details, ImageList)
pprint(list_details.as_dict())
Atualizar o índice de lista
Depois de adicionar ou remover imagens, você deve atualizar o índice de lista antes de usá-lo para exibir outras imagens.
#
# Refresh the index
#
print("\nRefreshing the search index for list {}".format(list_id))
refresh_index = client.list_management_image_lists.refresh_index_method(
list_id=list_id)
assert isinstance(refresh_index, RefreshIndex)
pprint(refresh_index.as_dict())
print("\nWaiting {} minutes to allow the server time to propagate the index changes.".format(
LATENCY_DELAY))
time.sleep(LATENCY_DELAY * 60)
Corresponder imagens com a lista
A função principal das listas de imagens é comparar novas imagens e ver se há correspondências.
#
# Match images against the image list.
#
for image_url in IMAGES_TO_MATCH:
print("\nMatching image {} against list {}".format(image_url, list_id))
match_result = client.image_moderation.match_url_input(
content_type="application/json",
list_id=list_id,
data_representation="URL",
value=image_url,
)
assert isinstance(match_result, MatchResponse)
print("Is match? {}".format(match_result.is_match))
print("Complete match details:")
pprint(match_result.as_dict())
Remover uma imagem da lista
O código a seguir remove um item da lista. Nesse caso, é uma imagem que não corresponde à categoria de lista.
#
# Remove images
#
correction = "https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png"
print("\nRemove image {} from list {}".format(correction, list_id))
client.list_management_image.delete_image(
list_id=list_id,
image_id=index[correction]
)
Remover todas as imagens de uma lista
Use o código a seguir para limpar uma lista de imagens.
#
# Delete all images
#
print("\nDelete all images in the image list {}".format(list_id))
client.list_management_image.delete_all_images(list_id=list_id)
Excluir a lista de imagens
Use o código a seguir para excluir uma determinada lista de imagens.
#
# Delete list
#
print("\nDelete the image list {}".format(list_id))
client.list_management_image_lists.delete(list_id=list_id)
Executar o aplicativo
Execute o aplicativo com o python comando no arquivo de início rápido.
python quickstart-file.py
Limpar recursos
Se você quiser limpar e remover uma assinatura Serviços de IA do Azure, poderá excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui outros recursos associados a ele.
Próximas etapas
Neste início rápido, você aprendeu a usar o Content Moderator Python biblioteca para realizar tarefas de moderação. Em seguida, saiba mais sobre a moderação de imagens ou outras mídias lendo um guia conceitual.
Introdução à API REST do Content Moderator do Azure.
O Content Moderator é um serviço de IA que permite lidar com conteúdo potencialmente ofensivo, arriscado ou indesejável. Use o serviço de moderação de conteúdo habilitado para IA para verificar texto, imagem e vídeos e aplicar sinalizadores de conteúdo automaticamente. Crie software de filtragem de conteúdo em seu aplicativo para cumprir os regulamentos ou manter o ambiente pretendido para seus usuários.
Use o API REST do Content Moderator para:
- Texto moderado
- Imagens moderadas
Pré-requisitos
- Azure assinatura – Criar uma gratuitamente
- Depois de ter sua assinatura Azure, criar um recurso do Content Moderator no portal Azure para obter sua chave e ponto de extremidade. Aguarde a implantação e clique no botão Ir para o recurso .
- Você precisará da chave e do ponto de extremidade do recurso criado para conectar seu aplicativo ao Content Moderator. Você colará sua chave e endpoint no código abaixo posteriormente no guia de início rápido.
- Você pode usar o tipo de preço gratuito (
F0) para experimentar o serviço e atualizar posteriormente para uma camada paga para produção.
- PowerShell versão 6.0+ ou um aplicativo de linha de comando semelhante.
Texto moderado
Você usará um comando como o seguinte para chamar a API do Content Moderator para analisar um corpo de texto e imprimir os resultados no console.
curl -v -X POST "https://westus.api.cognitive.microsoft.com/contentmoderator/moderate/v1.0/ProcessText/Screen?autocorrect=True&PII=True&classify=True&language={string}"
-H "Content-Type: text/plain"
-H "Ocp-Apim-Subscription-Key: {subscription key}"
--data-ascii "Is this a crap email abcdef@abcd.com, phone: 6657789887, IP: 255.255.255.255, 1 Microsoft Way, Redmond, WA 98052"
Copie o comando para um editor de texto e faça as seguintes alterações:
- Atribua
Ocp-Apim-Subscription-Keyà chave de assinatura válida do Face.Importante
Lembre-se de remover a chave do código quando terminar e nunca postá-la publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como Azure Key Vault. Consulte o artigo Serviços de IA do Azure security para obter mais informações.
- Altere a primeira parte da URL de consulta para corresponder ao endpoint que corresponde à sua chave de assinatura.
Nota
Novos recursos criados após 1º de julho de 2019 usarão nomes de subdomínio personalizados. Para obter mais informações e uma lista completa de pontos de extremidade regionais, consulte Nomes de Subdomínio Personalizados para Ferramentas de Fundição.
- Opcionalmente, altere o corpo da solicitação para qualquer cadeia de caracteres de texto que você gostaria de analisar.
Depois de fazer as alterações, abra um prompt de comando e insira o novo comando.
Examinar os resultados
Você deve ver os resultados de moderação de texto exibidos como dados JSON na janela do console. Por exemplo:
{
"OriginalText": "Is this a <offensive word> email abcdef@abcd.com, phone: 6657789887, IP: 255.255.255.255,\n1 Microsoft Way, Redmond, WA 98052\n",
"NormalizedText": "Is this a <offensive word> email abide@ abed. com, phone: 6657789887, IP: 255. 255. 255. 255, \n1 Microsoft Way, Redmond, WA 98052",
"AutoCorrectedText": "Is this a <offensive word> email abide@ abed. com, phone: 6657789887, IP: 255. 255. 255. 255, \n1 Microsoft Way, Redmond, WA 98052",
"Misrepresentation": null,
"PII": {
"Email": [
{
"Detected": "abcdef@abcd.com",
"SubType": "Regular",
"Text": "abcdef@abcd.com",
"Index": 21
}
],
"IPA": [
{
"SubType": "IPV4",
"Text": "255.255.255.255",
"Index": 61
}
],
"Phone": [
{
"CountryCode": "US",
"Text": "6657789887",
"Index": 45
}
],
"Address": [
{
"Text": "1 Microsoft Way, Redmond, WA 98052",
"Index": 78
}
]
},
"Classification": {
"Category1":
{
"Score": 0.5
},
"Category2":
{
"Score": 0.6
},
"Category3":
{
"Score": 0.5
},
"ReviewRecommended": true
},
"Language": "eng",
"Terms": [
{
"Index": 10,
"OriginalIndex": 10,
"ListId": 0,
"Term": "<offensive word>"
}
],
"Status": {
"Code": 3000,
"Description": "OK",
"Exception": null
},
"TrackingId": "1717c837-cfb5-4fc0-9adc-24859bfd7fac"
}
Para obter mais informações sobre os atributos de texto que o Content Moderator verifica, consulte o guia Text moderation concepts.
Imagens moderadas
Você usará um comando como o seguinte para chamar a API do Content Moderator para moderar uma imagem remota e imprimir os resultados no console.
curl -v -X POST "https://westus.api.cognitive.microsoft.com/contentmoderator/moderate/v1.0/ProcessImage/Evaluate?CacheImage={boolean}"
-H "Content-Type: application/json"
-H "Ocp-Apim-Subscription-Key: {subscription key}"
--data-ascii "{\"DataRepresentation\":\"URL\", \"Value\":\"https://moderatorsampleimages.blob.core.windows.net/samples/sample.jpg\"}"
Copie o comando para um editor de texto e faça as seguintes alterações:
- Atribua
Ocp-Apim-Subscription-Keyà chave de assinatura válida do Face. - Altere a primeira parte da URL de consulta para corresponder ao endpoint que corresponde à sua chave de assinatura.
- Opcionalmente, altere a
"Value"URL no corpo da solicitação para qualquer imagem remota que você deseja moderar.
Dica
Você também pode moderar imagens locais passando os dados de bytes dessas imagens para o corpo da solicitação. Consulte a documentação de referência para saber como fazer isso.
Depois de fazer as alterações, abra um prompt de comando e insira o novo comando.
Examinar os resultados
Você deve ver os resultados de moderação de imagem exibidos como dados JSON na janela do console.
{
"AdultClassificationScore": x.xxx,
"IsImageAdultClassified": <Bool>,
"RacyClassificationScore": x.xxx,
"IsImageRacyClassified": <Bool>,
"AdvancedInfo": [],
"Result": false,
"Status": {
"Code": 3000,
"Description": "OK",
"Exception": null
},
"TrackingId": "<Request Tracking Id>"
}
Para obter mais informações sobre os atributos de imagem que o Content Moderator analisa, consulte o guia conceitos de moderação de imagem.
Limpar recursos
Se você quiser limpar e remover uma assinatura Serviços de IA do Azure, poderá excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui outros recursos associados a ele.
Próximas etapas
Neste início rápido, você aprendeu a usar a API REST do Content Moderator para realizar tarefas de moderação. Em seguida, saiba mais sobre a moderação de imagens ou outras mídias lendo um guia conceitual.