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.
Este artigo descreve uma arquitetura que processa vários documentos. A arquitetura usa o recurso de funções duráveis do Azure Functions para implementar pipelines. Os pipelines processam documentos por meio do Azure AI Document Intelligence para divisão de documentos, NER (reconhecimento de entidade nomeado) e classificação. O NLP (processamento de linguagem natural) baseado em RAG (geração aumentada de recuperação) usa o conteúdo do documento e os metadados para localizar e gerar informações relevantes.
Arquitetura
Baixe um Arquivo Visio dessa arquitetura.
Workflow
O fluxo de dados a seguir corresponde ao diagrama anterior:
Um usuário faz upload de um arquivo de documento para um aplicativo Web. O arquivo contém vários documentos embutidos de diferentes tipos, como arquivos PDF ou arquivos TIFF (Formato de Arquivo de Imagem de Marca) de várias páginas. O Armazenamento de Blobs do Azure armazena o arquivo de documento (1a). Para iniciar o processamento de pipeline, o aplicativo Web adiciona uma mensagem de comando a uma fila do Barramento de Serviço do Azure (1b).
A mensagem de comando aciona a orquestração de funções duráveis. A mensagem contém metadados que identificam o local do Armazenamento de Blobs do arquivo de documento a ser processado. Cada instância de funções duráveis processa apenas um arquivo de documento.
A atividade de análise chama a API de Análise de Documentos de Inteligência Artificial, que passa o local de armazenamento do arquivo de documento para processamento. A função de análise lê e identifica cada documento dentro do arquivo de documento. Essa função retorna o nome, o tipo, os intervalos de páginas e o conteúdo de cada documento inserido para a orquestração.
A função de atividade do repositório de metadados salva as informações do tipo de documento e do intervalo de páginas em um repositório do Azure Cosmos DB.
A função de atividade inserção usa Kernel Semântico para agrupar cada documento e criar inserções para cada parte. A função envia as inserções e o conteúdo associado ao Azure AI Search e as armazena em um índice habilitado para vetor. A função também adiciona uma ID de correlação ao documento de pesquisa para que os resultados da pesquisa correspondam aos metadados de documento correspondentes do Azure Cosmos DB.
O Kernel Semântico recupera inserções do repositório de vetores da Pesquisa de IA para NLP.
Os usuários podem conversar com seus dados usando NLP. Os dados aterrados recuperados do repositório de vetores alimentam essa conversa. Para pesquisar registros de documentos no Azure Cosmos DB, os usuários usam IDs de correlação incluídas no conjunto de resultados da pesquisa. Os registros incluem links para o arquivo de documento original no Armazenamento de Blobs.
Componentes
As Durable functions é um recurso do Azure Functions que você pode usar para escrever funções com estado em um ambiente de computação sem servidor. Nessa arquitetura, uma mensagem em uma fila do Barramento de Serviço dispara uma instância de funções duráveis. Em seguida, essa instância inicia e orquestra o pipeline de processamento de documentos.
O Azure Cosmos DB é um banco de dados de vários modelos distribuído globalmente que pode dimensionar a taxa de transferência e a capacidade de armazenamento em qualquer número de regiões geográficas. SLAs (Contratos de Nível de Serviço) abrangentes garantem a taxa de transferência, latência, disponibilidade e consistência. Nessa arquitetura, o Azure Cosmos DB serve como o repositório de metadados para as informações de classificação de documento.
O Armazenamento do Azure é um conjunto de serviços de nuvem escalonáveis e seguros para dados, aplicativos e cargas de trabalho. Ele inclui Armazenamento de Blobs, Arquivos do Azure, Armazenamento de Tabelas do Azure e Armazenamento de Filas do Azure. Nessa arquitetura, o Blob Storage armazena os arquivos de documento que o usuário faz upload e que o pipeline de durable functions processa.
O Barramento de Serviço é um agente de mensagens empresarial gerenciado que tem filas de mensagens e tópicos de publicação e assinatura. Nessa arquitetura, o Service Bus dispara instâncias de funções duráveis.
O Serviço de Aplicativos do Azure fornece uma estrutura para criar, implantar e dimensionar Aplicativos Web. O recurso Aplicativos Web do Serviço de Aplicativo é uma ferramenta baseada em HTTP que hospeda aplicativos Web, APIs REST e back-ends móveis. Você pode usar aplicativos Web para desenvolver em .NET, .NET Core, Java, Ruby, Node.js, PHP ou Python. Os aplicativos podem ser executados e dimensionados em ambientes baseados em Windows e linux. Nessa arquitetura, os usuários interagem com o sistema de processamento de documentos por meio de um aplicativo Web hospedado no Serviço de Aplicativos.
O Document Intelligence é um serviço que extrai insights de seus documentos, formulários e imagens. Essa arquitetura usa o Document Intelligence para analisar os arquivos de documento e extrair os documentos inseridos junto com informações de conteúdo e metadados.
A Pesquisa de IA fornece uma experiência de pesquisa para conteúdo privado e diversificado em aplicativos web, móveis e empresariais. Nessa arquitetura, a Pesquisa de IA utiliza um armazenamento de vetores para indexar as incorporações do conteúdo extraído dos documentos e das informações de metadados, permitindo que os usuários possam pesquisar e recuperar documentos usando NLP.
O Kernel Semântico é uma estrutura que integra LLMs (grandes modelos de linguagem) em aplicativos. Nessa arquitetura, o Kernel Semântico cria inserções para as informações de conteúdo e metadados do documento, que são armazenadas na Pesquisa de IA.
O Microsoft Foundry é uma plataforma que você usa para criar, testar e implantar soluções de IA e modelos como serviço (MaaS). Nesta arquitetura, o Foundry implanta um modelo do Azure OpenAI.
Projetos Foundry são espaços de trabalho especializados que você pode usar para estabelecer conexões com fontes de dados, definir agentes e invocar modelos implantados, incluindo modelos do Azure OpenAI. Essa arquitetura tem um único projeto Foundry na conta Foundry.
O Foundry Models é uma plataforma que implanta modelos principais, incluindo modelos OpenAI, do catálogo de IA do Azure em um ambiente hospedado pela Microsoft. Esta abordagem emprega a implantação do MaaS. Essa arquitetura implanta modelos usando a configuração Global Standard com uma cota fixa.
Alternativas
Para facilitar a distribuição global, essa solução armazena metadados no Azure Cosmos DB. O Banco de Dados SQL do Azure é outra opção de armazenamento persistente para metadados e informações de documentos.
Para disparar instâncias de funções duráveis, você pode usar outras plataformas de mensagens, incluindo da Grade de Eventos do Azure.
Em vez do Kernel Semântico, você pode usar o Azure Machine Learning ou os serviços de IA do Azure para criar inserções.
Você pode usar o Microsoft Agent Framework em vez de Kernel Semântico para orquestrar os fluxos de trabalho.
Para fornecer uma interface de linguagem natural para os usuários, você pode usar outros modelos de linguagem no Foundry. A plataforma dá suporte a vários modelos de diferentes provedores, incluindo Mistral, Meta, Cohere e Hugging Face.
Detalhes do cenário
Nessa arquitetura, os pipelines identificam os documentos em um arquivo de documentos, classificam-nos por tipo e armazenam informações para uso no processamento subsequente.
Muitas empresas precisam gerenciar e processar documentos que digitalizam em massa e que contêm vários tipos distintos de documentos, como PDFs ou imagens TIFF de várias páginas. Esses documentos podem ser originados de fora da organização e a empresa receptora não controla o formato.
Devido a essas restrições, as organizações devem criar suas próprias soluções de análise de documentos que possam incluir tecnologia personalizada e processos manuais. Por exemplo, alguém pode separar manualmente tipos de documentos individuais e adicionar qualificadores de classificação para cada tipo de documento.
Muitas dessas soluções personalizadas são baseadas no padrão de fluxo de trabalho da máquina de estado. As soluções usam sistemas de banco de dados para persistir o estado do fluxo de trabalho e usam serviços de sondagem que verificam os estados que precisam processar. Manter e aprimorar essas soluções pode aumentar a complexidade e o esforço.
As organizações precisam de soluções confiáveis, dimensionáveis e resilientes para processar e gerenciar a identificação e a classificação dos tipos de documentos de sua organização. Essa solução pode processar milhões de documentos por dia com total observabilidade do sucesso ou falha do pipeline de processamento.
O NLP permite que os usuários interajam com o sistema de maneira conversacional. Os usuários podem fazer perguntas sobre os documentos e receber respostas com base no conteúdo dos documentos.
Possíveis casos de uso
Gerar títulos de relatório. Muitos órgãos governamentais e municipais gerenciam registros em papel que não têm um formato digital. Uma solução automatizada eficaz pode gerar um arquivo que contém todos os documentos de que você precisa para atender a uma solicitação de documento.
Gerencie os registros de manutenção. Examine e envie registros de papel, como aeronaves, locomotivas e registros de manutenção de máquinas, para organizações externas.
Licenças de processo. Os departamentos de licenciamento da cidade e do município mantêm documentos impressos que são gerados para relatórios de inspeção de licenças. É possível tirar uma foto de vários documentos de inspeção e identificar, classificar e pesquisar automaticamente esses registros.
Analisar planogramas. As empresas de varejo e bens de consumo gerenciam o inventário e a conformidade por meio da análise de planograma de prateleira da loja. Você pode tirar uma foto de uma prateleira de loja e extrair informações de rótulo de diferentes produtos para identificar, classificar e quantificar automaticamente as informações do produto.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, um conjunto de princípios orientadores que você pode usar para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.
Confiabilidade
A confiabilidade ajuda a garantir que seu aplicativo possa cumprir os compromissos que você faz aos seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para confiabilidade.
Para garantir a confiabilidade e a alta disponibilidade ao invocar modelos de projetos do Foundry que usam modelos OpenAI hospedados no Azure, considere usar um gateway de API gerador como o Gerenciamento de API do Azure. Essa abordagem gerencia solicitações em várias implementações de modelo ou endpoints do Foundry. O gateway de back-end do Azure dá suporte ao roteamento round-robin, ponderado e com prioridade entre implantações e fornece controle total da distribuição de tráfego. Essa abordagem permite que seu projeto do Foundry implemente estratégias de failover resilientes e distribuição de carga inteligente ajustada aos seus requisitos de desempenho, disponibilidade regional ou custo.
Para o aprendizado e o trabalho de prova de conceito inicial, use uma implantação Global Standard. O Global Standard é pago conforme o uso, fornece a cota padrão mais alta e usa a infraestrutura global do Azure para rotear cada solicitação para a região mais disponível. Essa abordagem reduz a chance de encontrar restrições regionais de cota ou capacidade enquanto você experimenta e se alinha com as diretrizes da Microsoft para usar o Padrão Global como o ponto de partida padrão.
Para cargas de trabalho de produção, escolha o tipo de implantação com base nos seguintes critérios:
Local de processamento de dados:
Use o Padrão Global ou o Provisionamento Global quando desejar que a maior disponibilidade e inferência possam ocorrer em qualquer região do Microsoft Foundry, enquanto os dados em repouso permanecem em sua geografia selecionada.
Use a Data Zone Standard ou Data Zone Provisioned quando você deve manter a inferência dentro de uma zona de dados definida pela Microsoft, por exemplo, somente EUA ou somente UE, para atender aos requisitos de residência de dados.
Taxa de processamento e modelo de custo:
Use tipos de implantação Standard, como Padrão Global, Padrão de Zona de Dados e Padrão Regional para cargas de trabalho leves a médias, irregulares ou exploratórias. Esses tipos usam um modelo pago conforme o uso sem capacidade reservada. Escolha esses tipos em estágios iniciais antes de entender seus padrões de tráfego.
Use tipos de implantação provisionados, como Provisionado Global, Provisionado de Zona de Dados e Provisionado Regional para cargas de trabalho previsíveis e de maior volume que precisam de taxa de transferência reservada, latência consistente e a opção de usar reservas para otimização de custos.
A maioria das equipes começa com o Padrão Global para desenvolvimento ou usa o Data Zone Standard quando a residência de dados é importante. Depois de determinar seus requisitos de taxa de transferência e latência em estado estacionário, eles transferem caminhos críticos para SKUs Provisioned.
Para obter mais informações sobre confiabilidade em componentes de solução, consulte informações de SLA para serviços online do Azure.
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 Lista de verificação de revisão de design para otimização de custos.
Os custos mais significativos para essa arquitetura incluem os seguintes componentes:
- Uso de inferência de modelo por meio do Microsoft Foundry, que inclui OpenAI ou outros modelos
- Ingestão e processamento de documentos por meio do Document Intelligence
- Indexação e consumo de pesquisa por meio da Pesquisa por IA
Para otimizar os custos, considere as seguintes recomendações:
Use unidades de taxa de transferência (PTUs) provisionadas ou reservas para implantações do Microsoft Foundry em vez do uso de pagamento por token quando a carga de trabalho for previsível.
Para obter mais informações, consulte os seguintes recursos:
Planeje implantações regionais e agendamento de expansão operacional na Pesquisa de IA.
Use o preço por nível de compromisso para o Document Intelligence para gerenciar custos previsíveis.
Use a capacidade reservada e as políticas de ciclo de vida para otimizar as contas de armazenamento.
Use a estratégia de 'pague conforme o uso' para sua arquitetura e escalone horizontalmente conforme necessário em vez de investir em recursos em larga escala no início. À medida que sua solução amadurece, você pode usar reservas do Serviço de Aplicativo para ajudar a reduzir os custos quando aplicável.
Considere os custos de oportunidade em sua arquitetura e equilibre uma estratégia de pioneirismo com uma estratégia de acompanhamento rápido. Para estimar o custo inicial e os custos operacionais, use a calculadora de preços do Azure.
Estabeleça orçamentos e controles que definem limites de custo para sua solução. Para configurar alertas de previsão e custo real, use alertas de orçamento.
Eficiência de desempenho
A Eficiência de Desempenho refere-se à capacidade da carga de trabalho de dimensionar para atender às demandas do usuário com eficiência. Para obter mais informações, consulte Lista de verificação de revisão de design para eficiência de desempenho.
Essa solução pode expor gargalos de desempenho quando você processa grandes volumes de dados. Para garantir a eficiência de desempenho adequada para sua solução, entenda e planeje as opções de dimensionamento do Azure Functions, o dimensionamento automático dos serviços de IA e o particionamento do Azure Cosmos DB.
Aplique computação e orquestração escalonáveis usando funções duráveis, que fazem parte do Azure Functions, para o pipeline de processamento de documentos e ajuste seu comportamento de dimensionamento. Para obter mais informações, consulte Desempenho e escala em funções duráveis.
Escolha o modelo de implantação apropriado no Microsoft Foundry para cargas de trabalho de inferência. Use APIs sem servidor para cargas de trabalho variáveis e modelos de taxa de transferência provisionadas quando você espera tráfego intenso e consistente. Para obter mais informações, consulte a taxa de transferência provisionada para Modelos do Foundry e otimização de desempenho e latência para Modelos do Azure OpenAI e Foundry.
Otimize a indexação e o desempenho de recuperação configurando o particionamento, as réplicas e o esquema apropriados para a Pesquisa de IA. Para obter mais informações, consulte as dicas de desempenho da Pesquisa de IA.
Estabeleça linhas de base de desempenho e ciclos de feedback. Defina metas realistas de latência e taxa de transferência antecipadamente, monitore o desempenho real do sistema continuamente e refinar a arquitetura e as configurações operacionais à medida que os padrões de uso evoluem. Para obter mais informações, consulte os princípios de design de Eficiência de Desempenho.
Aplique essas práticas para ajudar a garantir que sua solução de classificação de documentos permaneça responsiva e econômica à medida que a solução for dimensionada.
Colaboradores
A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.
Autor principal:
- Kevin Kraus | Engenheiro de solução principal
Outro colaborador:
- Brian Swiger | Engenheiro de solução principal
Para ver perfis não públicos no LinkedIn, entre no LinkedIn.
Próximas etapas
Os artigos a seguir fornecem uma introdução às tecnologias relevantes:
- O que é o Armazenamento de Blobs?
- O que é o Barramento de Serviço?
- Introdução ao Serviço de Aplicativo
- Introdução ao Azure Cosmos DB
Para obter a documentação do produto, consulte os seguintes recursos:
- Documentação do Azure para todos os produtos
- Documentação de funções duráveis
- Documentação do Microsoft Foundry
- Documentação de Inteligência de Documentos
- Documentação da Pesquisa de IA
- documentação do Kernel Semântico