ResponsesAgent do MLflow. Registre o AI Gateway como um modelo externo para acessar mais de 500 modelos de dentro do Databricks e instrumente agentes com OpenTelemetry para capturar suas chamadas de LLM no Toqan Router.
AI Gateway
Sirva qualquer modelo do Toqan Router por meio de um serving endpoint do Databricks, com acompanhamento de custos e fallbacks.
Observabilidade
Exporte traces de agentes em execução no Model Serving, com prompts, tokens e custo.
Pré-requisitos
- Uma conta no Toqan Router e uma chave de API
- Um workspace do Databricks com o Model Serving habilitado
- MLflow 3.11 ou posterior, além de
databricks-sdkedatabricks-agentsinstalados localmente
Armazenar a chave de API
As duas seções abaixo leem a chave de um secret do Databricks. Mantenha-a lá em vez de colocá-la na configuração do endpoint, onde qualquer pessoa com acesso de visualização ao endpoint pode lê-la. Ignorecreate_scope se o scope já existir:
AI Gateway
Os modelos externos do Databricks aceitam qualquer endpoint compatível com OpenAI por meio do provedorcustom, então o AI Gateway pode servir de base para um serving endpoint do Databricks. Defina external_model.name como o modelo a ser servido e aponte custom_provider_url para o AI Gateway:
Qualquer modelo habilitado funciona. Defina
external_model.name como o slug do modelo no Toqan Router e consulte os modelos compatíveis. Um endpoint serve um único modelo, então crie um endpoint por modelo.Observabilidade
Adicionar o OpenTelemetry a um agente já em execução no Model Serving envia as chamadas de LLM dele ao Toqan Router, com o conteúdo completo de solicitações e respostas, uso de tokens e custo. São quatro alterações: adicionar um exporter no nível do módulo, fazer o flush ao final depredict, declarar três pacotes extras e passar o endpoint e a chave no momento do deploy.
Isto abrange agentes implantados a partir de código com
agents.deploy(). Agentes criados no construtor no-code Agent Bricks são executados em um endpoint gerenciado pelo Databricks, que não expõe variáveis de ambiente nem dependências do modelo, portanto não podem ser instrumentados dessa forma.Adicionar o exporter ao agente
Adicione isto no nível do módulo no arquivo do agente, acima da classe do agente. Isso abre a conexão com o Toqan Router e anexa o instrumentor que registra as chamadas de LLM. OOpenAIInstrumentor registra chamadas feitas pelo SDK da OpenAI, que é o que WorkspaceClient().serving_endpoints.get_open_ai_client() retorna. Agentes criados com outra biblioteca cliente precisam do instrumentor OpenInference correspondente no lugar dele; caso contrário, o agente é implantado sem erros, mas não produz spans:
predict, antes de retornar. O Model Serving mantém o contêiner ativo entre as solicitações, então é o flush que envia os spans prontamente em vez de deixá-los na fila:
Declarar as dependências
O ambiente de serving instala apenas os pacotes declarados no modelo, então adicione estes aopip_requirements existente em log_model. Sem eles, o agente falha ao importar no momento da solicitação:
Passar o endpoint e a chave
Adicione estes aenvironment_vars em agents.deploy(). OTEL_SERVICE_NAME é opcional e define o nome usado posteriormente para filtrar traces:
Configurar o OTLP apenas pelas variáveis padrão
OTEL_EXPORTER_OTLP_* não exporta traces do Model Serving. O runtime gerenciado configura seu próprio tracing do MLflow, que tem precedência, e os spans chegam ao experimento do Databricks em vez do Toqan Router. Em vez disso, adicione o exporter ao agente conforme mostrado acima.Visualizar traces
Os traces aparecem no AI Studio na aba Traces. Cada chamada de LLM chega como um span contendo as mensagens de solicitação e resposta, os tokens de prompt e de completion, o modelo e o provedor resolvidos e o custo calculado. Filtre pelo valor definido emOTEL_SERVICE_NAME para isolar um agente.
Exemplo completo
Este exemplo chama um endpoint nativo do Databricks. Para rotear o agente pelo AI Gateway, definaLLM_ENDPOINT como o endpoint criado acima.
Módulo completo do agente e script de deploy
Módulo completo do agente e script de deploy

