Condividi tramite


Come tracciare l'applicazione con Azure AI Inference SDK

Importante

Gli elementi contrassegnati (anteprima) in questo articolo sono attualmente disponibili in anteprima pubblica. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

Questo articolo illustra come tracciare l'applicazione con Azure AI Inference SDK con la scelta tra Python, JavaScript o C#. La libreria client di inferenza di Intelligenza artificiale di Azure offre il supporto per la traccia con OpenTelemetry.

Abilitare il tracciamento nell'applicazione

Prerequisiti

  • Una sottoscrizione di Azure.
  • Un progetto di Intelligenza artificiale di Azure, vedere Creare un progetto nel portale di Azure AI Foundry.
  • Un modello di intelligenza artificiale che supporta l'API di inferenza del modello di intelligenza artificiale di Azure distribuita tramite Azure AI Foundry.
  • Se si usa Python, è necessario installare Python 3.8 o versione successiva, incluso pip.
  • Se si usa JavaScript, gli ambienti supportati sono versioni LTS di Node.js.

Installazione

Installare il pacchetto azure-ai-inference usando la propria gestione pacchetti, come pip:

  pip install azure-ai-inference[opentelemetry] 

Installare il plug-in OpenTelemetry Tracing di Azure Core, OpenTelemetry e l'utilità di esportazione OTLP per l'invio di dati di telemetria al back-end di osservabilità. Per installare i pacchetti necessari per Python, usare i comandi pip seguenti:

pip install opentelemetry 

pip install opentelemetry-exporter-otlp 

Per altre informazioni su Azure AI Inference SDK per Python e sull'osservabilità, vedere Traccia tramite Inference SDK per Python.

Per altre informazioni, vedere le informazioni di riferimento sull'SDK di inferenza.

Impostazione

È necessario aggiungere le impostazioni di configurazione seguenti in base al caso d'uso:

  • Per acquisire il contenuto della richiesta e del completamento, impostare la AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED variabile di ambiente su true (senza distinzione tra maiuscole e minuscole). Per impostazione predefinita, i prompt, i completamenti, i nomi delle funzioni, i parametri o gli output non vengono registrati.

  • Per abilitare la traccia di Azure SDK, impostare la AZURE_SDK_TRACING_IMPLEMENTATION variabile di ambiente per apriretelemetry. In alternativa, è possibile configurarlo nel codice con il frammento di codice seguente:

    from azure.core.settings import settings 
    
    settings.tracing_implementation = "opentelemetry" 
    

    Per altre informazioni, vedere Libreria client OpenTelemetry di Traccia di Azure per Python.

Abilitare la strumentazione

Il passaggio finale consiste nell'abilitare la strumentazione dell'inferenza di intelligenza artificiale di Azure con il frammento di codice seguente:

from azure.ai.inference.tracing import AIInferenceInstrumentor 

# Instrument AI Inference API 

AIInferenceInstrumentor().instrument() 

È anche possibile annullare l'uso dell'API di inferenza dell'intelligenza artificiale di Azure usando la chiamata di annullamento dell'esercitazione. Dopo questa chiamata, le tracce non verranno più generate dall'API di inferenza dell'intelligenza artificiale di Azure finché non viene chiamato di nuovo lo strumento:

AIInferenceInstrumentor().uninstrument() 

Traccia delle proprie funzioni

Per tracciare le proprie funzioni personalizzate, è possibile sfruttare OpenTelemetry, è necessario instrumentare il codice con OpenTelemetry SDK. Ciò comporta la configurazione di un provider di traccia e la creazione di intervalli intorno al codice da tracciare. Ogni intervallo rappresenta un'unità di lavoro e può essere annidato per formare un albero di traccia. È possibile aggiungere attributi da estendere per arricchire i dati di traccia con un contesto aggiuntivo. Dopo aver instrumentato, configurare un utilità di esportazione per inviare i dati di traccia a un back-end per l'analisi e la visualizzazione. Per istruzioni dettagliate e utilizzo avanzato, vedere la documentazione di OpenTelemetry. In questo modo è possibile monitorare le prestazioni delle funzioni personalizzate e ottenere informazioni dettagliate sull'esecuzione.

Allegare commenti e suggerimenti degli utenti alle tracce

Per associare commenti e suggerimenti degli utenti alle tracce e visualizzarli nel portale di Azure AI Foundry usando le convenzioni semantiche di OpenTelemetry, è possibile instrumentare l'applicazione abilitando la traccia e la registrazione dei commenti degli utenti. Correlando le tracce di feedback con le rispettive tracce di richiesta di chat usando l'ID risposta, è possibile usare la visualizzazione e la gestione di queste tracce nel portale di Azure AI Foundry. La specifica di OpenTelemetry consente di analizzare i dati di traccia standardizzati e arricchiti, che possono essere analizzati nel portale di Azure AI Foundry per ottimizzare le prestazioni e ottenere informazioni dettagliate sull'esperienza utente. Questo approccio consente di usare la massima potenza di OpenTelemetry per migliorare l'osservabilità nelle applicazioni.

  • Esempi python contenenti codice Python completamente eseguibile per la traccia usando client sincroni e asincroni.
  • Esempi JavaScript contenenti codice JavaScript completamente eseguibile per la traccia usando client sincroni e asincroni.
  • Esempi C# contenenti codice C# completamente eseguibile per eseguire l'inferenza usando metodi sincroni e asincroni.