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.
Ideias de solução
Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe aos requisitos específicos de sua carga de trabalho.
Usando Azure serviços como Azure Reconhecimento de Conteúdo de IA e Azure Functions, você pode adicionar classificação de imagem e extração de metadados a um aplicativo Web ou móvel sem gerenciar servidores ou treinar seus próprios modelos. Essa ideia de solução tem como destino a classificação e a marcação de imagem. Se você tiver outras necessidades de IA, consulte os catálogos mais amplos Foundry Tools e Microsoft Foundry.
Arquitetura
Baixe um arquivo Visio dessa ideia de solução.
Fluxo de dados
Esse cenário aborda os componentes de back-end de um aplicativo Web ou móvel. O fluxo de dados deste cenário ocorre da seguinte forma:
- Novos arquivos, (uploads de imagem), adicionados ao Armazenamento de Blobs disparam um evento no Grade de Eventos do Azure. O upload é orquestrado por um aplicativo Web ou móvel ou as imagens são carregadas diretamente para Armazenamento de Blobs.
- A Grade de Eventos envia uma notificação que dispara uma função Azure.
- A função chama o Content Understanding para analisar a imagem recém-carregada em um esquema de analisador definido. O Content Understanding acessa a imagem por meio de uma URL SAS limitada por tempo ou token de acesso temporário equivalente, que a função passa na solicitação e define para acesso de leitura com privilégios mínimos restrito apenas ao blob de destino.
- A função persiste a saída estruturada que o Content Understanding retorna, juntamente com metadados de imagem, em Azure Cosmos DB para NoSQL.
- O front-end web ou móvel consome os resultados. Esse fluxo de dados retorna a saída e os metadados de classificação; ele não retorna os bytes de imagem originais.
Componentes
Content Understanding é uma funcionalidade do Microsoft Foundry que usa a IA generativa para extrair a saída estruturada definida pelo usuário de documentos, imagens, vídeo e áudio. Nessa arquitetura, ela analisa cada imagem carregada em um esquema de analisador que define as categorias, atributos e rótulos que você deseja que sejam retornados (por exemplo, tipo de produto, cor, classe de defeito). A saída é um JSON que se mapeia diretamente para o modelo de dados da aplicação.
Azure Functions é uma plataforma de computação sem servidor. Nessa arquitetura, Azure Functions fornece a API de back-end e a camada de processamento de eventos para imagens carregadas. A função orquestra o fluxo de trabalho. Ele chama o Content Understanding, processa a resposta e grava o resultado no banco de dados. Essa arquitetura usa o Plano Consumo Flex para dar suporte à integração de rede virtual, à escolha de memória da instância e ao dimensionamento rápido.
Grade de Eventos do Azure é um serviço de roteamento de eventos gerenciado que usa um modelo de publicação/assinatura. Nessa arquitetura, um tópico do sistema da Grade de Eventos na conta de armazenamento emite um evento
Microsoft.Storage.BlobCreatedquando uma nova imagem é carregada e a entrega para a função.Armazenamento de Blobs do Azure é um repositório de objetos para dados não estruturados. Nessa arquitetura, ela armazena todas as imagens carregadas e todos os ativos estáticos que o aplicativo Web atende. Armazenamento de Blobs é a "fonte de verdade" para imagens de entrada.
Azure Cosmos DB para NoSQL é um banco de dados NoSQL gerenciado. Nessa arquitetura, ela armazena os metadados de cada imagem, incluindo a saída estruturada retornada pelo Content Understanding.
Alternativas
Azure Machine Learning AutoML for Images treina modelos personalizados de classificação de imagem e detecção de objetos de seus dados rotulados usando técnicas clássicas de machine learning. Escolha AutoML quando você tiver um conjunto de dados rotulado e precisar de um modelo determinístico e implantável para domínios estreitos (por exemplo, detecção de defeitos de fabricação ou imagens médicas) em que as abordagens generativas não se encaixam. AutoML é o caminho que Microsoft recomenda para clientes que migram da Visão Personalizada quando desejam manter um modelo de ML clássico.
Microsoft modelos habilitados para visão permitem chamar ou ajustar modelos multimodais (GPT-4.1, GPT-4o e Phi-4 multimodal) diretamente. Escolha este caminho quando precisar de controle refinado sobre o prompt e o modelo, quiser ajustar o modelo com seus próprios dados ou precisar de respostas a perguntas visuais e chat baseado em imagens em vez de extração estruturada.
Pesquisa de IA do Azure indexa os metadados para que os usuários possam consultar e filtrar imagens por marca, legenda ou outros atributos. O conjunto de habilidades de enriquecimento de IA pode chamar os serviços de visão e IA generativa e gravar os resultados diretamente em um índice de pesquisa sem necessidade de uma função separada.
Aplicativos Lógicos do Azure é adequado quando você não precisa de reação em tempo real para uploads. Um fluxo de trabalho que é executado em um gatilho de recorrência ou de janela deslizante pode sondar novos blobs e chamar o Content Understanding em lote.
Azure Document Intelligence extrai imagens inseridas em documentos por meio do modelo layout, para que você possa executar a classificação posterior nessas imagens inseridas. Use modelos de classificação personalizados quando os arquivos de entrada contiverem vários tipos de documento e você precisar identificar cada um deles antes do processamento adicional.
Detalhes do cenário
Esse cenário se aplica a empresas que processam imagens em escala e desejam anexar metadados estruturados, como marcas, legendas ou rótulos de categoria a cada imagem sem treinar e operar seus próprios modelos.
Aplicativos típicos incluem classificar imagens em um site de moda, analisar fotos para declarações de seguro e extrair contexto de capturas de tela do jogo. Criar isso internamente tradicionalmente requer experiência em pesquisa visual computacional, dados de treinamento e gerenciamento do ciclo de vida do modelo. A arquitetura neste artigo substitui esse trabalho por serviços de Azure gerenciados.
Possíveis casos de uso
Essa solução se aplica ao varejo, comércio eletrônico, jogos, finanças e seguros. Os casos de uso comuns incluem:
Marcando imagens em um site de varejo ou moda. Os vendedores carregam fotos do produto. O Content Understanding retorna as marcas, legendas e atributos que você define no esquema do analisador. A plataforma os usa para filtrar automaticamente os campos de listagem, impulsionar a pesquisa visual e reduzir o esforço de marcação manual.
Categorizando produtos em um catálogo de comércio eletrônico. Um analisador de compreensão de conteúdo atribui metadados de categoria e subcategoria (por exemplo, calçados para tênis de corrida) e atributos visuais, como cor e material. Os compradores obtêm uma pesquisa e filtragem mais precisas, e os vendedores gastam menos tempo corrigindo categorias.
Classificando a telemetria de capturas de tela de um jogo. As plataformas de streaming classificam incorretamente um fluxo quando um criador esquece de atualizar o título depois de alternar os jogos. Uma função que classifica capturas de tela periódicas pode detectar a alteração e atualizar os metadados de fluxo. Para domínios estreitos em que a classificação gerativa tem baixo desempenho, use AutoML para Imagens para treinar um classificador determinístico.
Roteando fotos de declarações de seguro. A Análise de Conteúdo identifica danos em veículos, danos causados por desastres naturais ou tipos de propriedades a partir de fotos de sinistros. Os metadados encaminham a declaração para a fila correta do ajustador e reduzem o tempo de triagem.
Considerations
Essas considerações implementam os pilares do Azure Well-Architected Framework, um conjunto de princípios orientadores que você pode usar para melhorar a qualidade de uma carga de trabalho.
Segurança
A segurança fornece garantias contra ataques deliberados e o uso indevido de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação para revisão de design de segurança.
- Use identidades gerenciadas para que o app de função se autentique no Armazenamento de Blobs, Azure Cosmos DB e no recurso Microsoft Foundry que hospeda o Content Understanding. Evite armazenar cadeias de conexão ou chaves de API nas configurações do aplicativo.
- Restrinja o recurso Foundry e o Cosmos DB a pontos de extremidade privados e desabilite o acesso à rede pública quando a carga de trabalho for executada dentro de uma rede virtual. O plano de consumo flex dá suporte à integração de rede virtual.
- Valide as imagens carregadas antes de invocar o serviço de visão. Imponha limites de tipo de conteúdo e tamanho no limite de carregamento, procure malware e armazene uploads em um contêiner que os usuários públicos não podem ler diretamente.
- Essa arquitetura é adequada apenas para imagens que você decide que são apropriadas para serem processadas por uma solução de nuvem, não há suporte para o processamento de imagens local/offline.
Otimização de custos
A Otimização de Custos concentra-se em maneiras de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte a Lista de verificação para revisão de design para Otimização de Custos.
- Limite o esquema do analisador no Content Understanding aos campos que o aplicativo realmente consome. Cada campo adicional aumenta o uso do token e o custo por chamada. Examine os preços Microsoft Foundry para obter as taxas atuais.
- Para Azure Functions, use o Flex plano de consumo para cargas de trabalho orientadas a eventos com picos. Redimensiona-se para zero e cobra por segundo nas instâncias ativas.
- Para Azure Cosmos DB, avalie serverless ou taxa de transferência com autoescala quando o tráfego estiver irregular. A computação sem servidor é adequada para cargas de trabalho de baixo tráfego e desenvolvimento/teste; o autoescalonamento é ideal para produção com carga variável.
Excelência operacional
A Excelência Operacional abrange os processos de operações que implantam um aplicativo e o mantêm em execução em produção. Para obter mais informações, consulte Lista de verificação de revisão de design para Excelência Operacional.
- Envie diagnósticos de Azure Functions, Event Grid e Microsoft Foundry para um workspace de Log Analytics compartilhado e use Application Insights para rastreamento distribuído no fluxo de envio para resultado.
- Configure um destino de mensagens mortas da Grade de Eventos para que eventos que a função não possa processar caiam em um contêiner de blob separado para serem processados novamente.
- Esquemas do analisador de compreensão de conteúdo de versão como código e implantá-los por meio do mesmo pipeline que implanta a função. Trate as alterações de esquema como alterações críticas para consumidores downstream.
Contributors
A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.
Autores principais:
- Ananya Ghosh Chowdhury | Arquiteto principal de soluções de nuvem
Outros colaboradores:
- Delyn Choong | Arquiteto sênior de soluções de nuvem – Dados &aI
- Abhishek Singh | Engenheiro de suporte técnico
Para ver perfis de LinkedIn não públicos, entre em LinkedIn.
Próximas etapas
- O que é Compreensão de Conteúdo?
- Visão geral dos modelos Microsoft Foundry
- Opções de migração do Azure Vision Image Analysis
- Enriquecimento de IA na busca do Azure AI
- Introdução ao Azure Functions
- Plano de consumo flex do Azure Functions
- O que é a Grade de Eventos do Azure?
- Introduction to Armazenamento de Blobs do Azure
- Bem-vindo(a) ao Azure Cosmos DB
Para obter roteiros de aprendizagem guiados, consulte:
- Desenvolver um aplicativo de IA gerativo com capacidade de visão
- Treinar modelos de classificação de imagem personalizados com AutoML
Recursos relacionados
- Use o enriquecimento de IA com processamento de imagem e texto
- Introdução aos aplicativos de chat de visão multimodal usando o Azure OpenAI