Padrão de arquitetura Azure para cargas de trabalho de IA

Este artigo fornece padrões arquitetónicos e arquiteturas de referência base para o ajudar a desenhar, implementar e governar cargas de trabalho de IA no Azure. Abrange os componentes centrais, interações e melhores práticas para construir sistemas de IA seguros, escaláveis e bem governados.

Use este padrão de arquitetura como base ao desenhar cargas de trabalho de IA. Comece pelos componentes principais e interações mostrados no padrão, depois adapte-os para corresponder aos seus objetivos de negócio, restrições técnicas e postura de risco.

Por exemplo, uma organização pretende construir uma aplicação de assistente de IA empresarial que permita aos colaboradores colocar questões sobre documentos internos e dados operacionais. Quando um utilizador faz uma pergunta, a aplicação determina que dados são necessários, recupera o contexto relevante e chama o modelo certo para gerar uma resposta fundamentada. Para isso, é necessário um pipeline de dados que limpe, enriqueça e indexe documentos internos para que o assistente possa recuperar um contexto confiável e atualizado. Semelhante a qualquer outra aplicação, utilize práticas Well-Architected para manter a aplicação fiável, segura e otimizada em termos de custos.

Embora este assistente de IA represente um cenário de negócio específico, o padrão de arquitetura que segue é suficientemente genérico para se adaptar a muitos casos de uso de IA com características semelhantes.

Este artigo guia-o através desse padrão genérico que estabelece um conhecimento básico dos componentes centrais, das suas funções e interações numa carga de trabalho de IA. Com esta base, pode tomar decisões de design informadas para construir soluções de IA robustas enquanto personaliza a arquitetura para se adequar ao seu caso de uso específico.

Arquitetura de carga de trabalho em IA de alto nível

Este diagrama mostra os componentes-chave que pode ter no design da sua carga de trabalho em IA.

Diagrama do design de cargas de trabalho de IA com componentes rotulados para práticas e processos de IA, processamento e análise de dados, treino e ajuste fino de modelos, aplicações inteligentes de IA e serviços e ferramentas de plataforma.

Componente Description
Processamento e análise de dados Recolha dados brutos de diferentes fontes, limpe-os, transforme-os e organize-os em conjuntos de dados prontos para treino de modelos, ajuste fino e grounding. Esta camada não interage diretamente com os utilizadores, mas permite interações de IA precisas e eficientes a jusante.
Treinamento de modelos e ajuste fino Treine modelos com os seus dados, acompanhe as versões e monitore o desempenho através de um processo repetível. Utilize as práticas de MLOps para continuar a melhorar à medida que novos dados chegam e manter o alinhamento com as necessidades do negócio.
Aplicações de IA inteligente É aqui que os utilizadores interagem com a sua IA. Combina modelos pré-treinados com lógica de aplicação para encontrar a informação certa, criar prompts, construir interfaces e aprender com feedback.
Práticas e processos de IA Mantenha a sua solução de IA fiável incorporando princípios DevOps, controlo de versões e pipelines automatizados nos fluxos de trabalho MLOps. Implementar iterativamente com salvaguardas e verificar continuamente a precisão, desempenho e viés.
Serviços e ferramentas de plataforma Serviços cloud essenciais que protegem os seus recursos, controlam custos e monitorizam a saúde do sistema desde o desenvolvimento até à implementação. Utilize pipelines CI/CD para automação fiável e ferramentas especializadas para analisar os resultados da IA quanto à conformidade.

Composição da carga de trabalho

Esta secção descreve duas cargas de trabalho principais: a carga de trabalho inteligente da aplicação e a carga de treino e ajuste fino. Cada carga de trabalho tem as suas próprias considerações de design quanto à vida útil e estado, alcance e dependências, escalabilidade e disponibilidade, e segurança e IA responsável.

Nem todas as cargas de trabalho de IA requerem treino e ajustes finos de componentes. Se usares apenas modelos pré-treinados sem qualquer treino personalizado, foca-te na carga de trabalho inteligente da aplicação. No entanto, se o seu caso de uso envolver construir modelos personalizados ou melhorá-los continuamente com novos dados, o treino e a afinação tornam-se essenciais. Ambas as cargas de trabalho são modulares, pelo que pode implementar os componentes relevantes para o seu caso de uso específico, seguindo as melhores práticas descritas nas considerações de design.

Característica de design Description
Duração e estado A duração da vida refere-se à duração esperada da existência e atividade de um recurso dentro da carga de trabalho.
Estado refere-se aos dados ou informações que um recurso mantém ao longo do tempo.
Alcance e dependências Alcance refere-se ao grau em que um recurso precisa de ser acessível ou distribuído.
Dependências referem-se às relações e à dependência de outros recursos.
Escalabilidade e disponibilidade Escalabilidade é a capacidade de um recurso lidar com maior carga ou procura.
Disponibilidade é a capacidade de um recurso permanecer operacional e acessível.
Segurança e IA responsável Segurança refere-se às medidas que protegem os dados e garantem o cumprimento das regulamentações.
IA responsável refere-se às práticas que garantem IA ética, incluindo justiça, transparência e responsabilidade.

Este diagrama mostra os componentes-chave da carga de trabalho inteligente da aplicação a incluir no seu design.

Diagrama da carga de trabalho inteligente da aplicação mostrando clientes, camada de inteligência, inferência, conhecimento e componentes de ferramentas.

Componente Description
Camada cliente A camada cliente permite que utilizadores e sistemas externos se conectem com IA. Esta camada recebe os seus pedidos e devolve respostas geradas por IA, garantindo que a experiência é simples e fácil de usar.
Camada de inteligência - API A API da camada de Inteligência faz a ponte entre os clientes e as funcionalidades de inteligência do sistema através de APIs bem definidas. É responsável por direcionar pedidos para o agente ou processo de orquestração correto, garantindo que as interações entre utilizadores e serviços são fluidas e consistentes. Esta camada também trata de como os dados são acedidos, implementa medidas de segurança e estabelece limites para evitar sobrecarga do sistema. Se uma aplicação precisar apenas de uma previsão simples, esta camada pode saltar os passos complexos de orquestração e enviar o pedido diretamente para o motor de inferência para uma resposta rápida.
Camada de inteligência - orquestração e computação de agentes A orquestração e a camada de computação de agentes são responsáveis por coordenar como diferentes componentes de IA trabalham em conjunto para realizar cada tarefa. Dependendo do que é necessário, pode executar tarefas uma após a outra ou deixar vários agentes trabalharem ao mesmo tempo e depois fundir os seus resultados. Determina a intenção do utilizador, verifica as respostas para garantir que estão seguras, integra-se com a camada de conhecimento para obter informação e usa ferramentas para combinar tudo e dar-te a melhor resposta.
Camada de inteligência - gestão de conversas A camada de gestão de conversas é o gestor de memória e conversas do sistema. Permite que a IA converse naturalmente, recordando mensagens anteriores, acompanhando temas em curso e armazenando partes importantes da discussão, para que as conversas fluam de forma fluida mesmo durante sessões longas. Também cuida de como os dados da conversa são mantidos ou eliminados, garantindo que a sua informação é tratada de forma responsável.
Camada de inferência - modelos fundamentais ou preditivos A camada de inferência é quando um modelo treinado faz previsões, gera conteúdo ou fornece decisões com base na informação que recebe. O processo começa por carregar o seu modelo de IA, preparar os dados, executar as previsões e depois formatar os resultados para que estejam disponíveis imediatamente (em tempo real) ou mais tarde (processamento em lote).
Camada de conhecimento A camada de conhecimento é onde o sistema obtém a informação e o contexto necessários para responder às perguntas com precisão. Garante que os dados são acedidos de forma segura, utilizando permissões e autorizações. A camada de conhecimento ajuda a IA a seguir a abordagem RAG, pesquisando em índices ou bases de dados vetoriais para encontrar o conteúdo certo. Permite à IA aceder a várias fontes de dados internas e externas de forma consistente, seja através de protocolos MCP ou REST.
Camada de ferramentas A camada de ferramentas é onde as ações empresariais e as capacidades externas se tornam acessíveis. A camada de inteligência pode desencadear estas ações ou ligar-se a outros sistemas chamando ferramentas ou agentes de forma padronizada, seja através do MCP, A2A ou OpenAPI/REST. Estas capacidades são apresentadas como opções acionáveis, prontas para a camada de inteligência usar, e podem ser tratadas diretamente pela carga de trabalho ou por serviços externos.

Considerações de design

Ao desenhar a sua arquitetura inteligente de carga de trabalho de aplicação, considere as seguintes características de design para tomar decisões informadas sobre o design e as interações dos componentes.

Duração e estado

A API de Inteligência, orquestração, inferência e camadas de conhecimento são todos serviços duradouros que funcionam durante toda a vida útil da sua carga de trabalho. Invista em disponibilidade, monitorização e excelência operacional para cada serviço.

Cada camada evolui a um ritmo diferente, por isso precisas de uma coordenação deliberada de implementação. A API de Inteligência evolui lentamente para se manter estável e manter a compatibilidade retroativa. A orquestração e as camadas de agentes evoluem mais rapidamente à medida que adicionas novas capacidades. A camada de inferência é atualizada quando implementas novos modelos. A camada de conhecimento evolui continuamente à medida que os dados mudam.

Componentes sem estado podem ser alocados ou desalocados a pedido, enquanto os componentes com estado gerem dados que persistem entre interações.

As camadas da API de Inteligência, orquestração e inferência são "stateless", o que facilita a sua escalabilidade ao adicionar mais instâncias. A camada de orquestração pode manter um estado efémero durante a execução, mas não persiste para além do tratamento dos pedidos. O estado efémero reduz a complexidade operacional, mas limita as opções de recuperação de falhas, por isso projete cuidadosamente para retentativas e idempotência.

Os dados das sessões de gestão de conversas podem durar de minutos a dias. Sessões mais longas permitem conversas mais ricas, mas custam mais e aumentam o risco de privacidade. A camada de conhecimento armazena dados em índices e bases de dados que evoluem à medida que adiciona, atualiza ou remove informação.

Troca. As decisões de gestão ao longo da vida e do estado impactam diretamente o custo, a fiabilidade e o desempenho. Componentes de longa duração e com estado requerem maior investimento em escalabilidade e resiliência, enquanto componentes sem estado e efémeros são mais económicos, mas podem introduzir latência devido a arranques a frio ou recuperação externa de estado.

Alcance e dependências

A Intelligence API é o único endpoint publicamente exposto na arquitetura, tudo o resto permanece interno. Pode implementá-lo em várias regiões para manter os utilizadores próximos de um endpoint e melhorar a resiliência.

A camada de orquestração situa-se no centro, opera dentro da sua rede e coordena tudo, como o estado da conversa, chamadas de modelo, recuperação de conhecimento e invocação de ferramentas. As falhas aqui bloqueiam todo o sistema; por essa razão, deve tornar o sistema altamente disponível.

A camada de inferência corre internamente sem dependências externas. Implementa-o perto do orquestrador para manter a latência baixa.

As camadas de conhecimento e ferramentas são internas, mas podem depender de sistemas externos. Estas dependências externas podem introduzir atrasos ou problemas de disponibilidade que afetam a qualidade da resposta.

Troca. A implementação multirregional melhora o desempenho e a resiliência, mas aumenta os custos. A implementação numa única região é mais económica, mas pode resultar numa maior latência para utilizadores distantes da região.

Escalabilidade e disponibilidade

A tua aplicação inteligente tem dois padrões de escalabilidade. Camadas sem estado como a API, orquestração e inferência escalam adicionando mais instâncias. Camadas de dados, como a gestão de conversas e a gestão do conhecimento, escalam ao espalhar dados por vários repositórios através de mecanismos como réplicas de leitura, particionamento e fragmentação.

A API de Inteligência escala para gerir mais pedidos. Implemente-o em várias zonas ou regiões para melhor disponibilidade e para manter os utilizadores próximos de um endpoint.

Orquestração e computação de agentes estão no centro do teu sistema, por isso falhas aqui bloqueiam tudo. Adicione mais instâncias, use balanceamento de carga e tenha o failover pronto para que o sistema continue a correr quando as instâncias individuais falharem.

A camada de inferência escala com base no que os teus modelos precisam. Adicione mais instâncias com GPUs à medida que a procura cresce. Use infraestrutura como código (IaC) para recriar rapidamente os ambientes durante a recuperação.

A gestão de conversas escala com o número de utilizadores em simultâneo. Use cópias e backups para manter os dados das sessões disponíveis.

A camada de conhecimento escala com base na quantidade de dados que tens e com que frequência são consultados. Use indexação eficiente e ajuste de bases de dados para manter as respostas rápidas. Configure cópias em vários locais para disponibilidade.

Troca. Componentes sem estado podem escalar rapidamente, mas podem introduzir latência de arranque a frio. Os componentes de dados proporcionam durabilidade, mas requerem mais planeamento para escalabilidade. Equilibre estes fatores com base na carga esperada e nos requisitos do negócio.

Segurança e IA responsável

Cada camada na sua aplicação inteligente acarreta riscos diferentes e necessita dos seus próprios controlos. As ferramentas podem desencadear ações do mundo real, o conhecimento molda o que a sua IA sabe, e a inferência produz resultados que os utilizadores veem. Restrinja o acesso em todas as camadas, monitoriza o que está a acontecer e certifica-te de que consegues explicar como as decisões são tomadas.

A camada de ferramentas tem o maior risco porque as ações podem ter consequências reais que são potencialmente irreversíveis. Para operações de alto risco, adicione passos de aprovação humana. Use autenticação rigorosa, acesso com privilégios mínimos e aplicação da privacidade de dados para evitar ações não autorizadas e exposição a PII. Avalie todas as ferramentas antes de as integrar para que a governação ultrapasse o limite da sua carga de trabalho.

A camada de conhecimento necessita de dados de alta qualidade e imparciais para produzir resultados fiáveis. Mantenha o acesso aos dados seguro com autenticação adequada, autorização e conformidade com os requisitos de residência de dados. O acesso apenas de leitura e o isolamento de rede evitam corrupção. Registe quais as fontes que foram recolhidas para cada resposta através de registos de auditoria; este processo permite-lhe explicar decisões e investigar questões mais tarde.

A camada de inferência deve ser acessível apenas aos papéis de operações e à identidade da camada de orquestração. Monitorize as saídas através de um serviço de validação que verifica toxicidade e outros problemas de segurança. Validar modelos antes da implementação para detetar viés e manter os mecanismos de rollback prontos caso surjam problemas em produção.

Arquiteturas base para cargas de trabalho de IA

Estes exemplos de referência servem como arquitetura recomendada para cargas de trabalho de IA.

Próximo passo

Revise as melhores práticas para desenhar cenários de aplicação inteligentes.