Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
O Azure Content Moderator está obsoleto a partir de fevereiro de 2024 e será aposentado a 15 de março de 2027. É substituído por Segurança de conteúdo de IA do Azure, que oferece funcionalidades avançadas de IA e desempenho melhorado.
Segurança de conteúdo de IA do Azure é uma solução abrangente concebida para detetar conteúdos prejudiciais gerados por utilizadores e por IA em aplicações e serviços. O Segurança de conteúdo de IA do Azure é adequado para muitos cenários, como mercados online, empresas de jogos, plataformas de mensagens sociais, empresas de media empresariais e fornecedores de soluções educativas para o ensino básico e secundário. Aqui está uma visão geral das suas funcionalidades e capacidades:
- APIs de Deteção de Texto e Imagem: Analise texto e imagens em busca de conteúdo sexual, violência, ódio e autoagressão com múltiplos níveis de gravidade.
- Content Safety Studio: Uma ferramenta online concebida para lidar com conteúdos potencialmente ofensivos, arriscados ou indesejados, utilizando os nossos mais recentes modelos de ML de moderação de conteúdos. Fornece modelos e fluxos de trabalho personalizados que permitem aos utilizadores criar os seus próprios sistemas de moderação de conteúdos.
- Suporte linguístico: Segurança de conteúdo de IA do Azure suporta mais de 100 línguas e é especificamente treinada em inglês, alemão, japonês, espanhol, francês, italiano, português e chinês.
O Segurança de conteúdo de IA do Azure oferece uma solução robusta e flexível para as suas necessidades de moderação de conteúdos. Ao mudar de Content Moderator para Segurança de conteúdo de IA do Azure, pode tirar partido das ferramentas e tecnologias mais recentes para garantir que o seu conteúdo é sempre moderado exatamente às suas especificações.
Saiba mais sobre Segurança de conteúdo de IA do Azure e explore como pode elevar a sua estratégia de moderação de conteúdos.
Comece a usar a biblioteca cliente Azure Content Moderator para .NET. Siga estes passos para instalar o pacote NuGet e experimentar o código de exemplo para tarefas básicas.
Content Moderator é um serviço de IA que lhe permite lidar com conteúdos potencialmente ofensivos, arriscados ou de outra forma indesejáveis. Use o serviço de moderação de conteúdos alimentado por IA para analisar texto, imagens e vídeos e aplicar automaticamente as bandeiras de conteúdo. Integre software de filtragem de conteúdos na sua aplicação para cumprir regulamentos ou manter o ambiente pretendido para os seus utilizadores.
Use a biblioteca de cliente do Content Moderator para .NET para:
- Texto moderado
- Imagens moderadas
Documentação de referência | Código-fonte da biblioteca | Package (NuGet) | Samples
Pré-requisitos
- Azure subscrição - Criar uma gratuitamente
- A versão Visual Studio IDE ou atual de .NET Core.
- Depois de ter a sua subscrição Azure, crie um recurso Moderador de Conteúdo no portal Azure para obter a sua chave e endpoint. Aguarde que seja lançado e clique no botão Ir para o recurso.
- Vai precisar da chave e do endpoint do recurso que cria para ligar a sua aplicação ao Content Moderator. Vais colar a tua chave e endpoint no código abaixo mais tarde no quickstart.
- Podes usar o escalão de preços gratuito (
F0) para experimentar o serviço, e depois fazer um upgrade para um nível pago para produção.
Preparação
Criar uma nova aplicação C#
Usando o Visual Studio, crie uma nova aplicação .NET Core.
Instalar a biblioteca cliente
Depois de criar um novo projeto, instale a biblioteca cliente clicando com o botão direito na solução do projeto no Explorador de Soluções e selecionando Gerir Pacotes NuGet. No gestor de pacotes que abre selecionar Browse, marque Incluir pré-lançamento e procure por Microsoft.Azure.CognitiveServices.ContentModerator. Selecione a versão 2.0.0e depois Instalar.
Dica
Quer ver todo o ficheiro de código de início rápido de uma vez? Pode encontrá-lo em GitHub, que contém os exemplos de código neste quickstart.
A partir do diretório do projeto, abre o ficheiro Program.cs no teu editor ou IDE preferido. 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 Program , cria variáveis para a chave e o endpoint do teu recurso.
Importante
Vai ao portal do Azure. Se o recurso de Moderador de Conteúdo que criou na secção de Pré-requisitos foi implementado com sucesso, clique no botão Ir para Recursos em Próximos Passos. Pode encontrar a sua chave e endpoint na página de chave e endpoint do recurso, em gestão 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 seu código quando terminar e nunca a publique publicamente. Para produção, usa uma forma segura de armazenar e aceder às tuas credenciais, como Azure Key Vault. Consulte o artigo Serviços de IA do Azure segurança para mais informações.
No método main() da aplicação, adicione invocações aos métodos usados nesta introdução rápida. Vais criar estes 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 objetos
As classes seguintes tratam algumas das principais funcionalidades da biblioteca cliente Content Moderator .NET.
| Nome | Descrição |
|---|---|
| ContentModeratorClient | Esta classe é necessária para toda a funcionalidade do Content Moderator. Instancia-o com a sua informação de subscrição e usa-o para produzir instâncias de outras classes. |
| ImageModeration | Esta aula disponibiliza a funcionalidade para analisar imagens para conteúdos adultos, informações pessoais ou rostos humanos. |
| Moderação de Texto | Esta aula oferece funcionalidades para analisar texto em busca de linguagem, palavrões, erros e informações pessoais. |
Exemplos de código
Estes excertos de código mostram-lhe como realizar as seguintes tarefas com a biblioteca cliente Content Moderator para .NET:
Autenticar o cliente
Num novo método, instancie objetos cliente com o 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 seguinte utiliza um cliente Content Moderator para analisar um corpo de texto e imprimir os resultados na consola. Na raiz da sua classe Program , defina ficheiros 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";
Depois, na raiz do teu projeto, adiciona um ficheiro TextFile.txt. Adicione o seu próprio texto a este ficheiro, ou use o seguinte exemplo de texto:
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
Depois define o método de moderação de texto em algum lugar da tua classe do Programa :
/*
* 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 seguinte utiliza um cliente Content Moderator, juntamente com um objeto ImageModeration , para analisar imagens remotas para conteúdos adultos e picantes.
Nota
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.
Obtenha imagens de exemplo
Defina os seus ficheiros de entrada e saída na raiz da sua 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";
Depois cria o ficheiro de entrada, ImageFiles.txt, na raiz do teu projeto. Neste ficheiro, adiciona-se as URLs das imagens para analisar—uma URL em cada linha. 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
Defina classe auxiliar
Adicione a seguinte definição de classe dentro da classe Programa . Esta classe interna irá tratar dos resultados da moderação de imagens.
// 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;
}
Defina o método de moderação de imagem
O método seguinte percorre os URLs das imagens num ficheiro de texto, cria uma instância EvaluationData e analisa a imagem para conteúdos adultos/impróprios, texto e rostos humanos. Depois, adiciona a instância final de EvaluationData a uma lista e escreve a lista completa de dados devolvidos na consola.
Iterar através das 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údos
Para mais informações sobre os atributos de imagem que o Content Moderator seleciona, consulte o guia de conceitos de moderação de imagens .
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);
}
}
}
Escrever os resultados da moderação para o 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 a aplicação
Execute a aplicação clicando no botão Depurar no topo da janela do IDE.
Liberar recursos
Se quiseres limpar e remover uma subscrição de Serviços de IA do Azure, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.
Próximos passos
Neste quickstart, aprendeste a usar a biblioteca Content Moderator .NET para realizar tarefas de moderação. De seguida, aprenda mais sobre a moderação de imagens ou outros meios lendo um guia conceptual.
Comece com a biblioteca cliente Azure Content Moderator para Java. Segue estes passos para instalar o pacote Maven e experimenta o código de exemplo para tarefas básicas.
Content Moderator é um serviço de IA que lhe permite lidar com conteúdos potencialmente ofensivos, arriscados ou de outra forma indesejáveis. Use o serviço de moderação de conteúdos alimentado por IA para analisar texto, imagens e vídeos e aplicar automaticamente as bandeiras de conteúdo. Integre software de filtragem de conteúdos na sua aplicação para cumprir regulamentos ou manter o ambiente pretendido para os seus utilizadores.
Use a biblioteca de cliente Content Moderator para Java para:
- Texto moderado
- Imagens moderadas
Documentação de referência | Código-fonte da biblioteca |Artifact (Maven) | Samples
Pré-requisitos
- Uma subscrição Azure - Crie uma gratuitamente
- A versão atual do Kit de Desenvolvimento Java (JDK)
- A ferramenta de compilação Gradle, ou outro gestor de dependências.
- Depois de ter a sua subscrição Azure, crie um recurso Moderador de Conteúdo no portal Azure para obter a sua chave e endpoint. Aguarde que seja lançado e clique no botão Ir para o recurso.
- Vai precisar da chave e do endpoint do recurso que cria para ligar a sua aplicação ao Content Moderator. Vais colar a tua chave e endpoint no código abaixo mais tarde no quickstart.
- Podes usar o escalão de preços gratuito (
F0) para experimentar o serviço, e depois fazer um upgrade para um nível pago para produção.
Preparação
Criar um novo projeto Gradle
Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue até lá.
mkdir myapp && cd myapp
Executa o gradle init comando a partir do teu diretório de trabalho. Este comando criará ficheiros de compilação essenciais para o Gradle, incluindo build.gradle.kts, que é usado em tempo de execução para criar e configurar a sua aplicação.
gradle init --type basic
Quando solicitado a escolher um DSL, selecione Kotlin.
Instalar a biblioteca cliente
Encontra build.gradle.kts e abre-o com o teu IDE ou editor de texto preferido. Depois copie a seguinte configuração de compilação. Esta configuração define o projeto como uma aplicação Java cujo ponto de entrada é a classe ContentModeratorQuickstart. Importa a biblioteca cliente 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 ficheiro Java
A partir do seu diretório de trabalho, execute o seguinte comando para criar uma pasta de origem do projeto:
mkdir -p src/main/java
Navegue até à nova pasta e crie um ficheiro chamado ContentModeratorQuickstart.java. Abra-o no seu editor ou IDE preferido 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
Quer ver todo o ficheiro de código de início rápido de uma vez? Pode encontrá-lo em GitHub, que contém os exemplos de código neste quickstart.
Na classe ContentModeratorQuickstart da aplicação, crie variáveis para a chave e o endpoint do seu recurso.
Importante
Vai ao portal do Azure. Se o recurso de Moderador de Conteúdo que criou na secção de Pré-requisitos foi implementado com sucesso, clique no botão Ir para Recursos em Próximos Passos. Pode encontrar a sua chave e endpoint na página de chave e endpoint do recurso, em gestão 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 seu código quando terminar e nunca a publique publicamente. Para produção, usa uma forma segura de armazenar e aceder às tuas credenciais, como Azure Key Vault. Consulte o artigo Serviços de IA do Azure segurança para mais informações.
No método principal da aplicação, adicione chamadas para os métodos usados neste quickstart. Vais definir estes 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 objetos
As seguintes classes tratam algumas das principais funcionalidades da biblioteca cliente Java Content Moderator.
| Nome | Descrição |
|---|---|
| ContentModeratorClient | Esta classe é necessária para toda a funcionalidade do Content Moderator. Instancia-o com a sua informação de subscrição e usa-o para produzir instâncias de outras classes. |
| ImageModeration | Esta aula disponibiliza a funcionalidade para analisar imagens para conteúdos adultos, informações pessoais ou rostos humanos. |
| TextModerations | Esta aula oferece funcionalidades para analisar texto em busca de linguagem, palavrões, erros e informações pessoais. |
Exemplos de código
Estes excertos de código mostram-lhe como realizar as seguintes tarefas com a biblioteca cliente Content Moderator para Java:
Autenticar o cliente
No método main da aplicação, crie um objeto ContentModeratorClient utilizando o valor do endpoint de 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
No topo da sua classe ContentModeratorQuickstart , defina uma referência a um ficheiro de texto local. Adiciona um ficheiro .txt ao diretório do teu projeto e insere o texto que gostarias de analisar.
// TEXT MODERATION variable
private static File textFile = new File("src\\main\\resources\\TextModeration.txt");
Analisar o texto
Crie um novo método que leia o ficheiro .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());
}
}
Resultados da moderação de texto impresso
Adicione o seguinte código para imprimir os resultados da moderação num ficheiro .json no diretório do seu 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 catch para completar o método.
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
Imagens moderadas
Configurar imagem de exemplo
Num novo método, constrói um objeto BodyModelModel com uma string de URL dada 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();
Defina classe auxiliar
Depois, no seu ficheiro ContentModeratorQuickstart.java , adicione a seguinte definição de classe dentro da classe ContentModeratorQuickstart . Esta 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údos
Esta linha de código verifica a imagem no URL indicado para conteúdo adulto ou picante. Consulte o guia conceptual de moderação de imagens para informações sobre estes termos.
// Evaluate for adult and racy content.
imageData.ImageModeration = client.imageModerations().evaluateUrlInput("application/json", url,
new EvaluateUrlInputOptionalParameter().withCacheImage(true));
Thread.sleep(1000);
Verifique se há texto
Esta linha de código verifica a imagem para ver se tem 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);
Verifica rostos
Esta 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, guarde a informação devolvida na EvaluationData lista.
resultsList.add(imageData);
Resultados impressos
Após o while ciclo, adicione o seguinte código, que imprime os resultados na consola e num ficheiro 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 declaração e adicione uma catch para completar o método.
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
Executar a aplicação
Pode construir a aplicação com:
gradle build
Execute a aplicação com o gradle run comando:
gradle run
Depois navega até ao ficheiro src/main/resources/ModerationOutput.json e vê os resultados da tua moderação de conteúdo.
Liberar recursos
Se quiseres limpar e remover uma subscrição de Serviços de IA do Azure, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.
Próximos passos
Neste quickstart, aprendeste a usar a biblioteca Content Moderator Java para realizar tarefas de moderação. De seguida, aprenda mais sobre a moderação de imagens ou outros meios lendo um guia conceptual.
Comece a usar a biblioteca cliente Azure Content Moderator para Python. Siga estes passos para instalar o pacote PiPy e teste o código de exemplo para tarefas básicas.
Content Moderator é um serviço de IA que lhe permite lidar com conteúdos potencialmente ofensivos, arriscados ou de outra forma indesejáveis. Use o serviço de moderação de conteúdos alimentado por IA para analisar texto, imagens e vídeos e aplicar automaticamente as bandeiras de conteúdo. Integre software de filtragem de conteúdos na sua aplicação para cumprir regulamentos ou manter o ambiente pretendido para os seus utilizadores.
Utilize a biblioteca cliente do Content Moderator para Python para:
- Texto moderado
- Use uma lista de termos personalizada
- Imagens moderadas
- Use uma lista de imagens personalizada
Documentação de referência | Código-fonte da biblioteca | Package (PiPy) | Samples
Pré-requisitos
- Azure subscrição - Criar uma gratuitamente
-
Python 3.x
- A sua instalação Python deve incluir pip. Podes verificar se tens pip instalado correndo
pip --versionna linha de comandos. Obtenha pip instalando a versão mais recente do Python.
- A sua instalação Python deve incluir pip. Podes verificar se tens pip instalado correndo
- Depois de ter a sua subscrição do Azure, Criar um Recurso de Moderador de Conteúdo no portal do Azure para obter a sua chave e endpoint. Aguarde que seja lançado e clique no botão Ir para o recurso.
- Vai precisar da chave e do endpoint do recurso que cria para ligar a sua aplicação ao Content Moderator. Vais colar a tua chave e endpoint no código abaixo mais tarde no quickstart.
- Podes usar o escalão de preços gratuito (
F0) para experimentar o serviço, e depois fazer um upgrade para um nível pago para produção.
Preparação
Instalar a biblioteca cliente
Após instalar Python, pode instalar a biblioteca cliente Content Moderator com o seguinte comando:
pip install --upgrade azure-cognitiveservices-vision-contentmoderator
Criar uma nova aplicação Python
Cria um novo script Python e abre-o no teu editor ou IDE preferido. Depois, adicione as seguintes import instruções no topo do ficheiro.
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
Quer ver todo o ficheiro de código de início rápido de uma vez? Pode encontrá-lo em GitHub, que contém os exemplos de código neste quickstart.
De seguida, crie variáveis para a localização do endpoint e a chave do seu recurso.
Importante
Vai ao portal do Azure. Se o recurso de Moderador de Conteúdo que criou na secção de Pré-requisitos foi implementado com sucesso, clique no botão Ir para Recursos em Próximos Passos. Pode encontrar a sua chave e endpoint na página de chave e endpoint do recurso, em gestão 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 seu código quando terminar e nunca a publique publicamente. Para produção, usa uma forma segura de armazenar e aceder às tuas credenciais, como Azure Key Vault. Consulte o artigo Serviços de IA do Azure segurança para mais informações.
Modelo de objetos
As classes seguintes abordam algumas das principais funcionalidades da biblioteca cliente Python Content Moderator.
| Nome | Descrição |
|---|---|
| ContentModeratorClient | Esta classe é necessária para toda a funcionalidade do Content Moderator. Instancia-o com a sua informação de subscrição e usa-o para produzir instâncias de outras classes. |
| ImageModerationOperations | Esta aula disponibiliza a funcionalidade para analisar imagens para conteúdos adultos, informações pessoais ou rostos humanos. |
| TextModerationOperations | Esta aula oferece funcionalidades para analisar texto em busca de linguagem, palavrões, erros e informações pessoais. |
Exemplos de código
Estes excertos de código mostram-lhe como realizar as seguintes tarefas com a biblioteca cliente Content Moderator para Python:
- Autenticar o cliente
- Texto moderado
- Use uma lista de termos personalizada
- Imagens moderadas
- Use uma lista de imagens personalizada
Autenticar o cliente
Instanciar um cliente com o seu endpoint e chave. Crie um objeto CognitiveServicesCredentials](/python/api/msrest/msrest.authentication.cognitiveservicescredentials com a sua chave e use-o com o seu endpoint para criar um objeto ContentModeratorClient .
client = ContentModeratorClient(
endpoint=CONTENT_MODERATOR_ENDPOINT,
credentials=CognitiveServicesCredentials(subscription_key)
)
Texto moderado
O código seguinte utiliza um cliente Content Moderator para analisar um corpo de texto e imprimir os resultados na consola. Primeiro, cria uma text_files/ pasta na raiz do teu projeto e adiciona um ficheiro content_moderator_text_moderation.txt. Adicione o seu próprio texto a este ficheiro, ou use o seguinte exemplo de texto:
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")
Depois, adicione o seguinte código ao seu script em 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())
Use uma lista de termos personalizada
O código seguinte mostra como gerir uma lista de termos personalizados para moderação de texto. Pode usar a classe ListManagementTermListsOperations para criar uma lista de termos, gerir os termos individuais e analisar outros corpos de texto contra ela.
Obtenha texto de exemplo
Para usar este exemplo, deve criar uma pasta text_files/ na raiz do seu projeto e adicionar um ficheiro content_moderator_term_list.txt. Este ficheiro deve conter texto orgânico que será verificado em relação à lista de termos. Pode usar o seguinte exemplo de texto:
This text contains the terms "term1" and "term2".
Adiciona uma referência à pasta se ainda não tens definido uma.
TEXT_FOLDER = os.path.join(os.path.dirname(
os.path.realpath(__file__)), "text_files")
Crie uma lista
Adicione o seguinte código ao seu script Python para criar uma lista de termos personalizada e guardar o seu valor 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
Pode usar o ID de uma lista para editar o 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 seguinte 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"
)
Obtenha todos os termos da lista
Pode usar o ID da lista para devolver 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 da lista
Sempre que adicionar ou remover termos da lista, deve 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)
Comparar texto com a lista
A principal funcionalidade da lista de termos personalizados é comparar um corpo de texto com a lista e verificar se existem 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 seguinte 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 seguinte código 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")
Apagar uma lista
Use o código seguinte para eliminar 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 seguinte utiliza um cliente Content Moderator, juntamente com um objeto ImageModerationOperations , para analisar imagens para conteúdos adultos e picantes.
Obtenha imagens de exemplo
Defina uma referência a algumas imagens para analisar.
IMAGE_LIST = [
"https://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample5.png"
]
Depois, adicione o código seguinte para iterar pelas suas imagens. O resto do código nesta secção irá para dentro deste ciclo.
for image_url in IMAGE_LIST:
print("\nEvaluate image {}".format(image_url))
Verifica conteúdos adultos/atrevidos
O código seguinte verifica a imagem no URL indicado para conteúdo adulto ou atrevido e imprime os resultados na consola. Consulte o guia de conceitos de moderação de imagens para informações sobre o significado destes termos.
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())
Verifique se há texto visível
O código seguinte verifica a imagem para conteúdo textual visível e imprime os resultados para a consola.
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())
Verifica rostos
O código seguinte verifica a imagem para rostos humanos e imprime os resultados na consola.
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())
Use uma lista de imagens personalizada
O código seguinte mostra como gerir uma lista personalizada de imagens para moderação de imagens. Esta funcionalidade é útil se a sua plataforma receber frequentemente instâncias do mesmo conjunto de imagens que pretende filtrar. Ao manter uma lista destas imagens específicas, pode melhorar o desempenho. A classe ListManagementImageListsOperations permite-lhe criar uma lista de imagens, gerir as imagens individuais da lista e comparar outras imagens com ela.
Crie as seguintes variáveis de texto para armazenar as URLs das imagens que irá 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
Esta não é a lista propriamente dita, mas sim uma lista informal de imagens que serão adicionadas na add images secção do código.
Criar uma lista de imagens
Adicione o seguinte código para criar uma lista de imagens e guardar uma referência ao ID da lista.
#
# 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 seguinte adiciona todas as tuas 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
Define a função de ajuda add_images noutro ponto do teu 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
Inclua imagens na lista
O código seguinte imprime os nomes de todas as imagens da 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())
Detalhes da lista de atualizações
Pode usar o 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 seguinte 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 da lista
Depois de adicionar ou remover imagens, deve atualizar o índice da lista antes de o poder usar para visualizar 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)
Comparar imagens com a lista
A principal função 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 seguinte remove um item da lista. Neste caso, é uma imagem que não corresponde à categoria da 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 seguinte 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)
Apagar a lista de imagens
Use o código seguinte para eliminar uma dada lista de imagens.
#
# Delete list
#
print("\nDelete the image list {}".format(list_id))
client.list_management_image_lists.delete(list_id=list_id)
Executar a aplicação
Executa a aplicação com o python comando no teu ficheiro de início rápido.
python quickstart-file.py
Liberar recursos
Se quiseres limpar e remover uma subscrição de Serviços de IA do Azure, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.
Próximos passos
Neste quickstart, aprendeste a usar a biblioteca Python Content Moderator para realizar tarefas de moderação. De seguida, aprenda mais sobre a moderação de imagens ou outros meios lendo um guia conceptual.
Comece com a API REST do Azure Content Moderator.
Content Moderator é um serviço de IA que lhe permite lidar com conteúdos potencialmente ofensivos, arriscados ou de outra forma indesejáveis. Use o serviço de moderação de conteúdos alimentado por IA para analisar texto, imagens e vídeos e aplicar automaticamente as bandeiras de conteúdo. Integre software de filtragem de conteúdos na sua aplicação para cumprir regulamentos ou manter o ambiente pretendido para os seus utilizadores.
Use a API REST do Content Moderator para:
- Texto moderado
- Imagens moderadas
Pré-requisitos
- Azure subscrição - Criar uma gratuitamente
- Depois de ter a sua subscrição Azure, crie um recurso Moderador de Conteúdo no portal Azure para obter a sua chave e endpoint. Aguarde que seja lançado e clique no botão Ir para o recurso.
- Vai precisar da chave e do endpoint do recurso que cria para ligar a sua aplicação ao Content Moderator. Vais colar a tua chave e endpoint no código abaixo mais tarde no quickstart.
- Podes usar o escalão de preços gratuito (
F0) para experimentar o serviço, e depois fazer um upgrade para um nível pago para produção.
- PowerShell versão 6.0+, ou uma aplicação semelhante de linha de comandos.
Texto moderado
Usará um comando como o seguinte para chamar a API Content Moderator para analisar um corpo de texto e imprimir os resultados na consola.
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:
- Atribui
Ocp-Apim-Subscription-Keyà tua chave válida de subscrição Face.Importante
Lembre-se de remover a chave do seu código quando terminar e nunca a publique publicamente. Para produção, usa uma forma segura de armazenar e aceder às tuas credenciais, como Azure Key Vault. Consulte o artigo Serviços de IA do Azure segurança para mais informações.
- Mude a primeira parte do URL da consulta para corresponder ao endpoint correspondente à tua chave de subscrição.
Nota
Novos recursos criados após 1 de julho de 2019 irão utilizar nomes de subdomínio personalizados. Para mais informações e uma lista completa de endpoints regionais, consulte Nomes de subdomínio personalizados para Foundry Tools.
- Opcionalmente, altera o corpo do pedido para a sequência de texto que queiras analisar.
Depois de fazeres as alterações, abre uma linha de comandos e insere o novo comando.
Analise os resultados
Deves ver os resultados da moderação de texto apresentados como dados JSON na janela da consola. 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 mais informações sobre os atributos de texto que o Content Moderator seleciona, consulte o guia de conceitos de moderação de texto .
Imagens moderadas
Vais usar um comando como o seguinte para chamar a API Content Moderator para moderar uma imagem remota e imprimir os resultados na consola.
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:
- Atribui
Ocp-Apim-Subscription-Keyà tua chave válida de subscrição Face. - Mude a primeira parte do URL da consulta para corresponder ao endpoint correspondente à tua chave de subscrição.
- Opcionalmente, muda a
"Value"URL no corpo do pedido para a imagem remota que queiras moderar.
Dica
Também pode moderar imagens locais passando os seus dados de bytes para o corpo do pedido. Consulte a documentação de referência para saber como fazer isto.
Depois de fazeres as alterações, abre uma linha de comandos e insere o novo comando.
Analise os resultados
Deverias ver os resultados da moderação de imagens exibidos como dados JSON na janela da consola.
{
"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 mais informações sobre os atributos de imagem que o Content Moderator seleciona, consulte o guia de conceitos de moderação de imagens .
Liberar recursos
Se quiseres limpar e remover uma subscrição de Serviços de IA do Azure, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.
Próximos passos
Neste quickstart, aprendeste a usar a API REST do Content Moderator para realizar tarefas de moderação. De seguida, aprenda mais sobre a moderação de imagens ou outros meios lendo um guia conceptual.