|
Este artigo discute como observar aplicações de IA de ponta a ponta, rastrear o uso de tokens e custos, diagnosticar fluxos de RAG e agentes, controlar o consumo excessivo e conectar a telemetria de IA às operações normais de produção em .NET. (Adaptado com ajuda de IA e corrigido e ajustado por Macoratti) |




Microsoft.Extensions.AI.
O método UseOpenTelemetry()
pode ser adicionado a um pipeline de
IChatClient, seguindo as convenções semânticas de IA
generativa do OpenTelemetry.
IChatClient chatClient = new ChatClientBuilder(providerClient)
.UseOpenTelemetry(
loggerFactory,
sourceName: "Telemedicina.AI",
configure: telemetry =>
{
telemetry.EnableSensitiveData = false;
})
.Build();
|
EnableSensitiveData = false; como padrão em produção para
evitar vazamento de dados confidenciais (como histórico médico, dados
pessoais e prompts confidenciais).
public sealed class AgenteLimites
{
public int MaximoChamadasModelo { get; init; } = 6;
public int MaximoChamadasFerramenta { get; init; } = 8;
public int MaximoPassos { get; init; } = 10;
public TimeSpan DuracaoMaxima { get; init; } = TimeSpan.FromSeconds(30);
public long MaximoTokens { get; init; } = 20_000;
}
|
| Sinal de Observabilidade | O que responde? | Exemplos de Aplicação |
| Métricas (Metrics) | Tendências e comportamento geral | ai.input.tokens,
ai.requests, custo
estimado,taxas de falha. |
| Traces (Traces) | O "porquê" de um evento específico e caminhos | Identificar gargalos (ex: por que uma requisição demorou 12s — se foi no banco, no tool call ou no modelo). |
| Logs (Logs) | Eventos diagnósticos específicos e auditoria | Detalhes de falhas, versões de prompts, transições de estado. |
| Funcionalidade | O que monitorar prioritariamente |
| Resumo de Consulta | Versão do prompt, modelo, tokens de entrada/saída, latência, custo estimado. |
| Assistente RAG | Latência de embedding e busca vetorial, candidatos recuperados, trechos (chunks) selecionados, groundedness (fundamentação). |
| Agente de Consulta | Duração do agente, chamadas de modelos e ferramentas, passos, novas tentativas (retries), custo por tarefa concluída. |
| Servidor MCP | Capacidade, categoria do chamador, resultado de autorização, latência, taxa de falhas. |
E estamos conversados..![]()
"Porque não me envergonho do evangelho de Cristo, pois é o poder de Deus para
salvação de todo aquele que crê; primeiro do judeu, e também do grego."
Romanos 1:16
Referências: