Rastreamento usando Application Insights
Determinar o raciocínio por trás das execuções do seu agente é importante para solução de problemas e depuração. No entanto, pode ser difícil para agentes complexos por uma série de razões:
- Pode haver um grande número de etapas envolvidas na geração de uma resposta, dificultando o controle de todas elas.
- A sequência de etapas pode variar com base na entrada do usuário.
- As entradas/saídas em cada estágio podem ser longas e merecem uma inspeção mais detalhada.
- Cada etapa do tempo de execução de um agente também pode envolver aninhamento. Por exemplo, um agente pode invocar uma ferramenta, que usa outro processo, que então invoca outra ferramenta. Se você notar uma saída estranha ou incorreta na execução de um agente de nível superior, pode ser difícil determinar exatamente onde na execução o problema foi introduzido.
O rastreamento resolve isso permitindo que você veja claramente as entradas e saídas de cada primitivo envolvido em uma execução de agente específica, na ordem em que foram invocados.
Criando um recurso do Application Insights
O rastreamento permite que você analise o desempenho e o comportamento do seu agente usando o OpenTelemetry e adicionando um recurso do Application Insights ao seu projeto do IA do Azure Foundry.
Para adicionar um recurso do Application Insights, navegue até a guia Rastreamento no portal do IA do Azure Foundry e crie um novo recurso, caso ainda não tenha um.
Depois de criado, você pode obter uma sequência de conexão do Application Insights, configurar seus agentes e observar o caminho de execução completo do seu agente por meio do Azure Monitor. Normalmente, você deseja habilitar o rastreamento antes de criar um agente.
Rastrear um agente
Primeiro, use pip install
para instalar o OpenTelemetry e o plug-in de rastreamento do Azure SDK.
pip install opentelemetry
pip install azure-core-tracing-opentelemetry
Você também precisará de um exportador para enviar resultados ao seu backend de observabilidade. Você pode imprimir rastros no console ou usar um visualizador local como o Aspire Dashboard. Para se conectar ao Aspire Dashboard ou outro backend compatível com OpenTelemetry, instale o exportador do OpenTelemetry Protocol (OTLP).
pip install opentelemetry-exporter-otlp
Depois de instalar os pacotes, você pode usar um dos seguintes exemplos de Python para implementar o rastreamento com seus agentes. Amostras que usam rastreamento de console exibem os resultados localmente no console. Amostras que usam o Azure Monitor enviam os rastreamentos para o Azure Monitor no portal do IA do Azure Foundry, na guia Rastreamento no menu de navegação esquerdo do portal.
Observação
Há um bug conhecido na funcionalidade de rastreamento de agentes. O bug fará com que a ferramenta de função do agente chame informações relacionadas (nomes de funções e valores de parâmetros, que podem conter informações confidenciais) para serem incluídas nos rastros, mesmo quando a gravação de conteúdo não estiver habilitada.
Usando o Azure Monitor
- Exemplo Básico de agente
- Exemplo de agente com chamada de função
- Exemplo com um manipulador de eventos de fluxo
Usando rastreamento de console