10 de junho de 202615 min de leitura

Migrando Recursos do Azure AI Language para Modelos Foundry: Guia Estratégico para Empresas Brasileiras

O Azure AI Language em Foundry Tools começará a descontinuar oito recursos: Key Phrase Extraction, Entity Linking, Sentiment Analysis & Opinion Mining, Summarization (documento e conversa), Conversational Language Understanding (CLU), Custom Question Answering (CQA), Orchestration Workflow e Custom Text Classification, com aposentadoria final até março de 2029 (Entity Linking ainda antes, em 20 de setembro de 2028).

A orientação da Microsoft é implementar essas funcionalidades usando modelos baseados no Microsoft Foundry. Esta série de guias de recomendação foi criada para ajudar você a começar a explorar a amplitude de opções Foundry disponíveis. Cada guia independente inclui:

  • Uma visão geral do recurso Azure AI Language em Foundry Tools.
  • Um modelo Foundry recomendado e deployment para uma solução similar.
  • Um tutorial para implementar a nova solução via REST API do Foundry.
  • Uma tabela comparativa com modelos Foundry alternativos para cada funcionalidade.

Convenções de endpoint usadas neste guia

Os exemplos REST abaixo utilizam o endpoint de inferência unificado do Microsoft Foundry, que é o mesmo caminho do Azure OpenAI usado para todos os modelos (OpenAI, Mistral, Cohere, Phi e outros): https://<seu-recurso>.services.ai.azure.com/openai/deployments/<seu-deployment>/chat/completions?api-version=2024-10-21. Autentique com o header api-key: <SUA_API_KEY>. <seu-deployment> é o nome que você atribuiu ao adicionar o modelo ao seu recurso Foundry.

Para autenticação keyless (Microsoft Entra ID), substitua a URL por https://<seu-recurso>.openai.azure.com/openai/v1/chat/completions e use o header Authorization: Bearer <ENTRA_TOKEN> (emita o token com escopo https://ai.azure.com/.default).

A rota beta antiga do Azure AI Inference (<endpoint>.<regiao>.models.ai.azure.com/chat/completions) será aposentada em 26 de agosto de 2026 — use o caminho unificado acima para qualquer código novo.

Novo: modelos MAI da Microsoft no Foundry. Os modelos proprietários MAI agora estão disponíveis no Microsoft Foundry. Para as funcionalidades de texto e linguagem cobertas neste guia, a opção relevante é o MAI-Thinking-1 — primeiro modelo de raciocínio da Microsoft (sparse Mixture-of-Experts, ~35B ativos / ~1T parâmetros totais, contexto de 256K tokens), apresentado no Build 2026 e atualmente em preview privado. Ele é compatível com a API Chat Completions e suporta function calling, encaixando-se nos mesmos padrões de chamada mostrados abaixo. Os modelos de mídia MAI (MAI-Transcribe-1, MAI-Voice-1, MAI-Image-2) não são cobertos aqui.

1. Key Phrase Extraction → Foundry com mistral-small-2503 (24B)

Key Phrase Extraction identifica ideias ou tópicos principais em textos não estruturados. Por exemplo, dada a frase "A comida estava deliciosa e a equipe foi maravilhosa", retorna as frases "comida" e "equipe" como tópicos principais. No Foundry, você pode replicar isso instruindo um modelo denso em conhecimento a extrair termos significativos e retorná-los em JSON. Recomendamos o mistral-small-2503, um modelo aberto de 24 bilhões de parâmetros que rivaliza com modelos proprietários maiores em tarefas de compreensão.

Passo 1: Faça o deploy do modelo Mistral no Foundry. No seu projeto Foundry, faça o deploy do modelo Mistral Small 3.1 (mistral-small-2503). Ele é licenciado para uso empresarial e pode processar documentos muito longos (128.000 tokens) com precisão de ponta. Após o deploy, anote o nome do deployment e a região no portal Azure.

Passo 2: Crie um prompt para extração de key phrases. Instrua o modelo a extrair as key phrases e gerar saída JSON. Exemplo: "Extract the key phrases from the given text and output them in JSON as a list."

Passo 3: Chame a REST API do Foundry com seu texto. Use seu endpoint e API key para enviar uma requisição POST para a API de chat completion do modelo. Inclua uma mensagem de sistema com instruções de extração e uma mensagem de usuário com o texto. Exemplo:

POST https://<seu-recurso>.services.ai.azure.com/openai/deployments/<seu-deployment>/chat/completions?api-version=2024-10-21
Headers: { "api-key": "<SUA_API_KEY>", "Content-Type": "application/json" }
Body: {
  "messages": [
    {
      "role": "system",
      "content": "Extract the key phrases (main topics) from the given text. Respond in JSON as {\"keyPhrases\": [ ... ]}."
    },
    {
      "role": "user",
      "content": "Text: \"The food was delicious and there were wonderful staff.\"\nTask: What are the key phrases?"
    }
  ]
}

Passo 4: Receba a saída JSON. O modelo Mistral retornará as key phrases em formato JSON:

{
  "keyPhrases": ["food", "staff"]
}

Você pode ajustar o prompt para definir a estrutura de saída desejada.

Outros modelos recomendados para Key Phrase Extraction:

Modelo Quando considerar
phi-3.5-mini-instruct 3.8B parâmetros da família Phi, inferência mais rápida. Use para baixa latência ou deploy on-premise. Eficaz para extração simples, embora menos sutil que modelos maiores.
claude-sonnet-4-6 Modelo avançado da Anthropic com habilidades multilíngues e contexto muito longo (até 200K tokens). Escolha para documentos muito grandes ou complexos em vários idiomas, com custo mais alto.

2. Entity Linking → Foundry com gpt-4o + Retrieval

Entity Linking identifica entidades nomeadas no texto (pessoas, lugares, organizações) e as vincula a um ID ou entrada de referência. Embora o Entity Linking autônomo seja aposentado, a substituição oficial da Microsoft é o Named Entity Recognition (NER) do Azure AI Language em Foundry Tools, que continua suportado. Se você precisar de entidades com URL, desambiguação multilíngue ou raciocínio mais rico, o Foundry oferece uma alternativa combinando recuperação de conhecimento com um modelo generativo. Recomendamos gpt-4o, que se destaca em raciocínio e instruções complexas.

Passo 1: Configure uma base de conhecimento de entidades. Prepare dados de referência (ex.: Wikipedia para público, Azure AI Search para termos internos). Isso permitirá que o LLM recupere descrições factuais.

Passo 2: Faça o deploy do gpt-4o no Foundry. No catálogo de modelos, implante o gpt-4o. Ele é ideal para tarefas "agentic", usando ferramentas e dados contextuais.

Passo 3: Implemente o prompt de retrieval + linking. Primeiro, recupere informações sobre cada entidade potencial. Depois, crie um prompt que forneça esse contexto e peça a saída JSON:

{
  "messages": [
    {"role": "system", "content": "You are an entity linking assistant. Identify entities in text and link each to its official reference ID and URL. Use provided context as needed and respond with JSON."},
    {"role": "user", "content": "Text: 'Jane moved to Paris to work at Microsoft.'\n\nContext:\nParis – City in France (ID: Paris, URL: https://en.wikipedia.org/wiki/Paris).\nMicrosoft – Technology company (ID: Microsoft, URL: https://en.wikipedia.org/wiki/Microsoft).\n\nTask: List each entity with its name, id, and url in JSON format as {\"entities\": [...] }."}
  ]
}

Passo 4: Obtenha a saída JSON. O gpt-4o retornará um bloco JSON como:

{
  "entities": [
    {"name": "Paris", "id": "Paris", "url": "https://en.wikipedia.org/wiki/Paris"},
    {"name": "Microsoft", "id": "Microsoft", "url": "https://en.wikipedia.org/wiki/Microsoft"}
  ]
}

Outros modelos recomendados para Entity Linking:

Modelo Quando considerar
claude-sonnet-4-6 Ampla base de conhecimento, contexto de 200K tokens. Útil para opção não-OpenAI com forte compreensão multilíngue.
phi-3.5-mini 3.8B parâmetros, ideal para fine-tuning em domínios específicos. Baixo custo, adequado para bases menores e uso offline.
MAI-Thinking-1 Modelo de raciocínio da Microsoft (preview privado). Step-by-step reasoning para desambiguação, suporte a function calling. Treinado apenas com dados licenciados comercialmente. Requer aprovação.

3. Sentiment Analysis & Opinion Mining → Foundry com phi-3.5-mini (3.8B)

Sentiment Analysis avalia se um texto expressa tom positivo, neutro ou negativo, enquanto Opinion Mining fornece sentimento granular sobre aspectos específicos. Exemplo: em "O quarto era ótimo, mas a equipe foi antipática", sentimento geral misto, com aspecto "quarto": positivo e "equipe": negativo. Recomendamos o Phi-3.5-mini, com 128K de contexto e fine-tuned pela Microsoft para alta precisão.

Passo 1: Faça o deploy do Phi. No catálogo do Foundry, busque por Phi-3.5-mini-instruct (128k) e faça o deploy. Anote o nome do deployment.

Passo 2: Prepare o prompt de análise de sentimento. Instrua o modelo a produzir saída JSON com sentimento geral e opiniões por aspecto.

Passo 3: Envie o texto para o endpoint REST. Exemplo:

{
  "messages": [
    {"role": "system", "content": "Analyze the sentiment. Output JSON with overall 'sentiment' and 'opinions' for aspects mentioned."},
    {"role": "user", "content": "Review: 'The room was great, but the staff was unfriendly and rude.'"}
  ]
}

Passo 4: Revise a saída JSON. O modelo retornará:

{
  "sentiment": "mixed",
  "confidenceScores": { "positive": 0.5, "neutral": 0.0, "negative": 0.5 },
  "opinions": [
    { "aspect": "room", "sentiment": "positive" },
    { "aspect": "staff", "sentiment": "negative" }
  ]
}

A saída do Phi é concisa e factual. Você pode ajustar o prompt para mais ou menos detalhes.

Outros modelos recomendados para Sentiment:

Modelo Quando considerar
mistral-small-2503 24B, captura nuances sutis em documentos longos ou com múltiplos idiomas.
claude-sonnet-4-6 Contexto grande e profundo entendimento de tom. Ideal para revisões longas ou transcrições.

4. Text & Conversation Summarization → Foundry com claude-sonnet-4-6

Summarization produz automaticamente um resumo conciso do texto de entrada, nos modos extrativo (selecionando frases-chave) e abstrativo (gerando novo texto). Recomendamos Claude Sonnet 4.6, conhecido por sua força em sumarização e suporte a contexto muito longo.

Passo 1: Faça o deploy do Claude. No Foundry, implante o Claude Sonnet 4.6.

Passo 2: Crie um prompt de sumarização. Defina o estilo (parágrafo curto, bullet points). Exemplo: "Summarize the following document in 2-3 sentences."

Passo 3: Chame a API com seu conteúdo. Exemplo:

{
  "messages": [
    {"role": "system", "content": "You summarize texts. Output JSON with a 'summary' field."},
    {"role": "user", "content": "Document: At any given moment, turnaround coordinators at Lufthansa CityLine monitor video feeds of airplanes at gates, ensuring each step of unloading and servicing planes happens on time. Even minutes of delay can add up, costing airlines millions of dollars a year. ...\n\nTask: Summarize the main point of this document in 2-3 sentences."}
  ]
}

Passo 4: Inspecione a saída. Claude retornará:

{
  "summary": "Lufthansa CityLine uses real-time video monitoring to streamline aircraft turnarounds. By tracking tasks like unloading, refueling, and cleaning, they minimize delays and save significant costs."
}

A qualidade da sumarização de Claude é excelente para ambos os modos. Devido ao enorme contexto, você pode alimentar conteúdo muito longo sem dividi-lo.

Outros modelos recomendados para Summarization:

Modelo Quando considerar
gpt-4o Qualidade de ponta em escrita concisa, captura nuances. Prefira para resultados altamente polidos.
mistral-small-2503 24B, custo-efetivo para documentos de tamanho moderado, licença Apache para self-hosted.
MAI-Thinking-1 256K tokens, ingestão de documentos muito longos (até ~600 páginas). Requer preview privado.

5. Conversational Language Understanding (CLU) → Foundry (claude-sonnet-4-6 ou fine-tuned)

CLU permite que chatbots interpretem utterances prevendo uma intenção principal e extraindo entidades. Exemplo: "Reserve um voo para Paris amanhã" → Intent: BookFlight, Destination = Paris, Date = tomorrow. O Foundry oferece duas abordagens:

  • Abordagem A – CLU baseado em prompt com um LLM: Use Claude Sonnet 4.6 para classificar intents zero-shot e formatar JSON com intent e entidades. Sem treinamento.
  • Abordagem B – Modelo customizado fine-tuned: Fine-tune um modelo aberto (ex.: Ministral 3B) com seus utterances rotulados. Máxima precisão no domínio.

Abordagem A: Use claude-sonnet-4-6 como modelo de Intent & Entity

Passo 1: Reúna o schema e exemplos do CLU. Monte sua lista de intents e tipos de entidade, incluindo uma intent "None".

Passo 2: Construa um prompt detalhado. Inclua instruções sobre intents permitidos, regras de pontuação, formato JSON obrigatório. Veja o prompt longo no artigo original.

Passo 3: Chame o modelo com utterances. Exemplo: "Is it going to rain in Seattle tomorrow?"

Passo 4: Examine a resposta JSON. Claude retorna intent e entidades.

Abordagem B: Fine-tune um modelo de classificação de intents

Se você tem muitos intents e linguagem específica do domínio, o fine-tuning oferece a maior precisão. Exporte dados de treinamento do CLU, use a UI de fine-tuning do Foundry com Ministral-3B, Qwen-32B ou Llama-3.3-70B-Instruct, e implante o modelo. Isso evita desvios além dos intents fornecidos e pode ser usado offline.

Outros modelos recomendados para CLU:

Modelo Quando considerar
gpt-4o Abordagem A, raciocínio superior para utterances complexas.
Ministral-3B (fine-tune) Apache 2.0, leve, classificador NLU sob medida para hospedagem privada.
MAI-Thinking-1 Classificação zero-shot com raciocínio cuidadoso. Requer preview.

6. Custom Question Answering (CQA) → Foundry com gpt-4o ou Cohere Rerank + Retrieval

CQA permite responder perguntas em linguagem natural a partir de documentos ou FAQs. Você pode usar um padrão RAG: buscar informações no Azure Search (L1) e usar outro modelo para ranquear/gerar resposta (L2).

Abordagem A: Use Cohere Rerank v4.0 Pro como ranqueador determinístico L2

Exporte sua base CQA, crie um índice no Azure AI Search com pares pergunta-resposta, faça o deploy do Cohere Rerank v4.0 Pro, ajuste sua aplicação para enviar consultas ao índice e depois ao reranker. Selecione o par de maior pontuação para resposta direta. Opcionalmente, adicione fallback com GPT para validação.

Abordagem B: Use GPT-4o como gerador generativo (RAG)

Indexe seu conteúdo no Azure Search com pesquisa por palavra-chave e vetorial. Faça o deploy do gpt-4o. Formule um prompt de retrieval-augmented, onde o contexto é passado junto com a pergunta. O modelo gera resposta apenas com base no conteúdo fornecido, evitando alucinações.

Outros modelos recomendados para CQA:

Modelo Quando considerar
claude-sonnet-4-6 Excelente para RAG, contexto enorme para alimentar documentos completos de uma vez.
Ministral-3B (fine-tune) Alternativa leve e privada para domínios estreitos.
MAI-Thinking-1 Raciocínio sobre múltiplos trechos, 256K tokens. Requer preview.

7. Orchestration Workflow → Foundry Agent (usando gpt-4o)

O orchestration workflow direcionava requisições ao sub-serviço correto (CLU, CQA). Agora você pode usar um agente Foundry – um único LLM que interpreta a entrada do usuário e decide como atendê-la usando ferramentas disponíveis. GPT-4o analisa a utterance e responde ou formata uma ação.

Passo 1: Defina as tarefas do agente. Identifique as ações ou conhecimentos que o orquestrador geria.

Passo 2: Construa um prompt de agente. Explique as capacidades: responder perguntas com conteúdo ou executar ações com JSON.

Passo 3: Forneça contexto ou ferramentas por consulta. Anexe snippets relevantes para perguntas factuais e espere saídas orientadas a ação para comandos.

Passo 4: Avalie as saídas. GPT-4o pode gerar respostas ou JSON como {"action": "ScheduleMeeting", "topic": "IT Support", "time": "tomorrow 10am"}. A camada de orquestração separada deixa de ser necessária.

Outros modelos recomendados para Orchestration:

Modelo Quando considerar
claude-sonnet-4-6 Alternativa não-OpenAI, raciocínio multi-turn coerente.
MAI-Thinking-1 Agente first-party com suporte a function calling. Requer preview.

8. Custom Text Classification → Foundry (fine-tuned Ministral-3B)

Custom Text Classification permite treinar um modelo para classificar texto em categorias personalizadas (ex.: reclamação, sugestão, elogio). No Foundry, você consegue o mesmo fine-tunando um modelo base com seus dados. Recomendamos Ministral-3B, modelo open-source Apache 2.0 que o Foundry suporta para fine-tuning.

Passo 1: Prepare os dados de treinamento. Exporte amostras rotuladas e suas categorias. Limpe os dados.

Passo 2: Fine-tune o Ministral-3B no Foundry. Use a UI ou Python SDK para iniciar um job de fine-tuning. Após o treinamento, você terá um modelo especializado.

Passo 3: Faça o deploy e teste. Envie textos para o endpoint REST. Exemplo: "The product arrived broken and I'm very unhappy" retorna:

{
  "category": "Complaint",
  "confidenceScore": 0.98
}

Passo 4: Integre e itere. O modelo sempre produzirá uma das classes definidas, com maior precisão que o anterior. Você pode retreinar periodicamente.

Outros modelos recomendados para Custom Classification:

Modelo Quando considerar
gpt-oss-20b (fine-tune) 20B, qualidade OpenAI por fração do custo. Apache 2.0.
Llama-3.3-70B-Instruct (fine-tune) 70B, maior precisão para taxonomias complexas ou multilíngues. Requer orçamento para hospedagem.

Seguindo estes guias, você fará a transição suave de cada recurso do Azure AI Language para uma solução Microsoft Foundry. Não existem substituições diretas, mas ao alavancar foundation models + prompt engineering, você pode alcançar funcionalidade igual ou melhor. Essa abordagem consolida tarefas em uma plataforma unificada e poderosa, com modelos em melhoria contínua. O resultado é continuidade para suas aplicações e um upgrade de capacidades – de APIs estáticas para o mundo flexível dos LLMs do Foundry. Cada guia prepara você para implementar a mudança com mínimo atrito, garantindo que seus usuários desfrutem dos benefícios da IA moderna com saídas JSON estruturalmente similares às que esperam.

Perguntas Frequentes

  • Quando exatamente os recursos do Azure AI Language serão descontinuados?
    A aposentadoria é escalonada: Entity Linking encerra em 20 de setembro de 2028; os demais sete recursos (Key Phrase Extraction, Sentiment Analysis, Summarization, CLU, CQA, Orchestration, Custom Text Classification) serão retirados até março de 2029. Planeje a migração com folga para evitar interrupções.

  • Preciso fine-tunar um modelo ou posso usar um LLM pronto?
    Depende do caso. Para tarefas como CLU ou Custom Text Classification com muitos intents ou linguagem especializada, o fine-tuning (ex.: Ministral-3B) oferece maior precisão e controle. Já para Key Phrase Extraction ou Sentiment Analysis, um modelo pronto via prompt engineering (ex.: Phi-3.5-mini) funciona bem sem treinamento adicional.

  • Como fica a orquestração de fluxos (Orchestration Workflow) sem o serviço dedicado?
    A recomendação é substituir por um agente Foundry usando GPT-4o ou Claude Sonnet 4.6. O LLM assume o papel de orquestrador, interpretando a intenção do usuário e roteando para a ferramenta correta (QnA, ação, etc.). Isso simplifica a arquitetura eliminando a camada de orquestração separada.

  • O que muda para quem usa Custom Question Answering (CQA)?
    Você pode adotar um padrão RAG: indexar sua base de conhecimento no Azure AI Search e usar um modelo generativo (GPT-4o ou Claude) para responder. Outra abordagem é usar Cohere Rerank v4.0 Pro como ranqueador determinístico, preservando a lógica de resposta fixa sem necessidade de retreinamento.

  • Há alguma novidade da Microsoft para substituir esses recursos?
    Sim, a Microsoft lançou o modelo próprio MAI-Thinking-1 (em preview privado), um modelo de raciocínio com 256K tokens de contexto. Ele serve como alternativa para tarefas que exigem raciocínio profundo, como Entity Linking, Summarization e CLU. Porém, ainda requer aprovação de preview e não cobre funcionalidades de mídia.


Artigo originalmente publicado em Azure Updates - Latest from Azure Charts.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset