Início Rápido: analisar conteúdo multimodal (versão prévia)
A API Multimodal analisa materiais que contêm conteúdo de imagem e de texto para ajudar a tornar aplicativos e serviços mais seguros contra conteúdo prejudicial gerado pelo usuário ou gerado por IA. Analisar uma imagem e seu conteúdo de texto associado juntos preserva o contexto e fornece uma compreensão mais abrangente do conteúdo.
Para obter mais informações sobre como o conteúdo é filtrado, consulte a página de conceito de categorias de danos. Para obter os limites de entrada de dados de APIs, confira a seção Requisitos de entrada de dados em Visão Geral.
Importante
Esse recurso só está disponível em determinadas regiões do Azure. Confira a Disponibilidade de região.
Pré-requisitos
- Uma assinatura do Azure – crie uma gratuitamente
- Depois de ter uma assinatura do Azure, crie um recurso de Segurança do Conteúdo no portal do Azure para obter uma chave e um ponto de extremidade. Insira um nome exclusivo para o recurso, selecione sua assinatura e selecione um grupo de recursos, região com suporte e tipo de preço com suporte. Em seguida, selecione Criar.
- O recurso demora alguns minutos para implantar. Após a conclusão, selecione ir para o recurso. No painel à esquerda, em Gerenciamento de Recursos, selecione Chave de Assinatura e Ponto de Extremidade. Copie o ponto de extremidade e qualquer um dos valores de chave para um local temporário para uso posterior.
- Um dos seguintes instalados:
- cURL para chamadas à API REST.
- Python 3.x 3.x instalado
Analisar imagem com texto
A seção a seguir aborda um exemplo de solicitação de moderação multimodal com cURL.
Preparar uma imagem de exemplo
Escolha uma imagem de exemplo para analisar e baixe-a em seu dispositivo.
Confira os requisitos de entrada das limitações de imagem. Se o formato for animado, o serviço extrairá o primeiro quadro para fazer a análise.
Você pode inserir sua imagem por um dos dois métodos: fluxo de arquivos local ou URL de armazenamento de blobs.
- Fluxo de arquivos local (recomendado): codifique sua imagem para base64. Você pode usar um site como codebeautify para fazer a codificação. Em seguida, salve a cadeia de caracteres codificada em um local temporário.
- URL de Armazenamento de Blobs: carregue sua imagem em uma conta Armazenamento de Blobs do Azure. Siga o início rápido do armazenamento de blobs para saber como fazer isso. Em seguida, abra Gerenciador de Armazenamento do Azure e obtenha a URL para sua imagem. Salve-a em uma localização temporária.
Analisar imagem com texto
Cole o comando abaixo em um editor de texto e faça as seguintes alterações.
- Substituir
<endpoint>
pela URL do ponto de extremidade do recurso. - Substitua
<your_subscription_key>
pela sua chave. - Preencha o
"image"
campo no corpo com um"content"
campo ou um"blobUrl"
campo. Por exemplo:{"image": {"content": "<base_64_string>"}
ou{"image": {"blobUrl": "<your_storage_url>"}
. - Opcionalmente, substitua o valor do campo
"text"
pelo próprio texto que você gostaria de analisar.
curl --location '<endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15-preview ' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data '{
"image": {
"content": "<base_64_string>"
},
"categories": ["Hate","Sexual","Violence","SelfHarm"],
"enableOcr": true,
"text": "I want to kill you"
}'
Observação
Se você estiver usando uma URL de armazenamento de blobs, o corpo da solicitação deverá ter esta aparência:
{
"image": {
"blobUrl": "<your_storage_url>"
}
}
Os campos abaixo precisam ser incluídos na URL:
Nome | Necessário? | Descrição | Type |
---|---|---|---|
Versão da API | Obrigatório | esta é a versão da API a ser verificada. A versão atual é: api-version=2024-09-15 Exemplo: <endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15 |
String |
Os parâmetros no corpo da solicitação são definidos nesta tabela:
Nome | Descrição | Type |
---|---|---|
conteúdo ou blobUrl | (Obrigatório) O conteúdo ou a URL do blob da imagem. Podem ser bytes codificados em base64 ou uma URL de blob. Se ambos forem fornecidos, a solicitação será recusada. O tamanho máximo permitido da imagem é de 7.200 x 7.200 pixels e o tamanho máximo do arquivo é de 4 MB. O tamanho mínimo da imagem é de 50 x 50 pixels. | String |
text | (Opcional) O texto anexado à imagem. Há suporte para no máximo 1.000 caracteres (pontos de código unicode) em uma solicitação de texto. | String |
enableOcr | (Obrigatório) Quando definido como true, nosso serviço executará o OCR e analisará o texto detectado com a imagem de entrada ao mesmo tempo. Serão reconhecidos no máximo 1.000 caracteres (pontos de código unicode) da imagem de entrada. Os outros serão truncados. | Booliano |
categories | (Opcional) Supõe-se que seja uma matriz de nomes de categoria. Confira o Guia de categorias de danos para obter uma lista de nomes de categoria disponíveis. Se nenhuma categoria for especificada, todas as quatro categorias serão usadas. Usamos várias categorias para obter pontuações em uma única solicitação. | Enum |
abra uma janela do prompt de comando e execute o comando cURL.
Saída
Você verá os resultados de moderação de imagem e texto exibidos como dados JSON no console. Por exemplo:
{
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 2
},
{
"category": "SelfHarm",
"severity": 0
},
{
"category": "Sexual",
"severity": 0
},
{
"category": "Violence",
"severity": 0
}
]
}
Os campos JSON na saída são definidos aqui:
Nome | Descrição | Tipo |
---|---|---|
categoriesAnalysis | Cada classe de saída que a API prevê. A classificação pode ter vários rótulos. Por exemplo, quando uma imagem é carregada no modelo de moderação de imagem, ela pode ser classificada como conteúdo sexual e violência. Categorias de danos | String |
Gravidade | O nível de gravidade do sinalizador em cada categoria de dano. Categorias de danos | Inteiro |