09-02-03 — BYOM: Bring Your Own Model, enterprise gateways e APIM

⏱ 12 minFontes validadas em: 2026-04-29

TL;DR

BYOM (Bring Your Own Model) permite usar modelos que não estão no Foundry Model Catalog — fine-tuned models, modelos treinados internamente, ou endpoints de terceiros. Dois caminhos: Custom Connections (aponta para qualquer API compatível com OpenAI spec) e Azure APIM como gateway (centraliza roteamento, rate limiting, billing e monitoring de múltiplos modelos). Essencial para empresas com modelos proprietários ou multi-cloud.

Por que BYOM?

Cenários comuns que exigem BYOM:

  • Modelo fine-tuned pelo seu time rodando em AKS ou Azure ML
  • Contrato com fornecedor específico (ex: modelo customizado treinado pela sua empresa de consultoria)
  • Multi-cloud: modelo na GCP Vertex ou AWS Bedrock, mas quero o Foundry como orquestrador
  • Modelo open-source (Llama, Mistral) deployado em infra própria por questão de custo ou compliance
  • Versão especial de modelo não disponível no Catalog público

Opção 1: Custom Connection direta

Se o endpoint do seu modelo expõe uma API compatível com OpenAI (formato /v1/chat/completions), você pode registrá-la como Connection no Foundry Hub e usá-la nos projetos:

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
import os

client = AIProjectClient.from_connection_string(
    os.environ["AZURE_AI_FOUNDRY_CONNECTION_STRING"],
    DefaultAzureCredential()
)

# Criar connection apontando para endpoint próprio
connection = client.connections.create_or_update(
    connection_name="meu-modelo-interno",
    connection={
        "type": "custom",
        "endpoint": "https://meu-modelo-finetuned.impar.com.br/v1",
        "api_key": os.environ["MEU_MODELO_KEY"],
        "api_type": "azure_openai"  # usa spec OpenAI
    }
)

# Usar nos agents
agent = client.agents.create_agent(
    model="meu-modelo-finetuned-v2",  # nome do deployment no endpoint
    name="specialized-agent"
    # ... resto da configuração igual ao fluxo normal
)

Opção 2: Azure API Management (APIM) como LLM Gateway

Para ambientes enterprise com múltiplos modelos, múltiplos times e necessidade de controle centralizado, o padrão recomendado é usar Azure APIM como gateway de LLMs:

// Arquitetura: App → APIM → [AOAI, Foundry, modelo interno]
// APIM centraliza:
// - Autenticação (um único API Key para todos os apps)
// - Rate limiting por subscription/equipe
// - Roteamento (primary + fallback)
// - Logging e billing por equipe
// - Retry policies com circuit breaker

// No APIM: policy de roteamento round-robin entre deployments AOAI
// para distribuir carga entre PTUs e pay-per-token
App .NET → APIM Gateway → [
    primary: Azure OpenAI East US (PTU)
    fallback1: Azure OpenAI West Europe (PAYG)
    fallback2: Modelo Interno (AKS)
]

Policies APIM para LLMs

O Azure APIM tem políticas prontas para cenários de LLM (disponíveis via Azure Marketplace):

  • Semantic caching: retorna resposta em cache para perguntas semanticamente similares (reduz custo 20-40%)
  • Load balancing: distribui entre múltiplos deployments AOAI
  • Token rate limiting: limita tokens/minuto por subscription
  • Circuit breaker: desvia tráfego quando endpoint está com alta latência ou erros 429
  • Logging enriquecido: log de tokens, modelo usado, latência por chamada
// appsettings.json com APIM como LLM gateway
{
  "AzureOpenAI": {
    "Endpoint": "https://impar-llm-gateway.azure-api.net",
    "ApiKey": "chave-do-apim",  // uma única chave para todos os modelos
    "DeploymentName": "gpt-4o"  // APIM roteia para o modelo certo
  }
}

// No código .NET - mesmo client, roteamento transparente
var openAIClient = new AzureOpenAIClient(
    new Uri(config["AzureOpenAI:Endpoint"]),
    new AzureKeyCredential(config["AzureOpenAI:ApiKey"])
);

Fine-tuning + BYOM

Para fine-tuning de modelos no Foundry e re-deploy como BYOM:

  1. Fine-tune no Foundry (ou Azure ML) usando dataset próprio
  2. O modelo fine-tuned fica como deployment no seu Azure OpenAI resource
  3. Referencie o deployment name customizado no Agent
# Após fine-tuning no Foundry, referenciar o modelo customizado
agent = client.agents.create_agent(
    model="gpt-4o-ft-impar-v1",  # nome do fine-tuned deployment
    name="specialized-support-agent",
    instructions="Você é especialista em produtos Impar com conhecimento específico."
)
💡 Custo de fine-tuning GPT-4o: Fine-tuning de GPT-4o custa ~$25/1M tokens de treinamento. Para a maioria dos casos de uso, RAG com file_search é mais eficiente que fine-tuning — use fine-tuning quando precisar mudar o estilo/formato de resposta do modelo, não para adicionar conhecimento.

Como isso se conecta

  • 09-01-03: model catalog — o que está disponível sem BYOM
  • 09-02-04: private networking — modelos BYOM em VNet privada
  • 08-02-02: PTU vs token pricing — relevante para definir o gateway APIM

Fontes

  1. Add connections in Azure AI Foundry — Microsoft Learn
  2. APIM Azure OpenAI semantic caching policy — Microsoft Learn
  3. Enterprise-ready Azure OpenAI with APIM — Tech Community
  4. Fine-tuning Azure OpenAI models — Microsoft Learn