Registrare l'utilizzo, le richieste e i completamenti dei token per le API del modello linguistico

Questo articolo illustra come impostare il logging di Monitoraggio di Azure per le richieste e le risposte API del modello linguistico in Gestione API di Azure.

L'amministratore di Gestione API può usare i log delle richieste e delle risposte del modello linguistico insieme ai log del gateway gestione API per scenari come:

  • Calcolare l'utilizzo per la fatturazione. Calcolare le metriche di utilizzo per la fatturazione in base al numero di token utilizzati da ogni applicazione o consumer di API ,ad esempio segmentati in base all'ID sottoscrizione o all'indirizzo IP.

  • Esaminare i messaggi. Esaminare e analizzare richieste e completamenti per facilitare il debug, il controllo e la valutazione del modello.

Altre informazioni su:

Prerequisiti

  • Istanza di Gestione API di Azure.
  • API di completamento delle chat del modello linguistico gestito, integrata con Gestione API di Azure. Ad esempio, importare un'API Microsoft Foundry.
  • Accesso a un'area di lavoro Log Analytics di Azure.
  • Autorizzazioni appropriate per configurare le impostazioni di diagnostica e i log di accesso in Gestione API.

Abilitare l'impostazione di diagnostica per i log dell'API del modello linguistico

Abilitare un'impostazione diagnostica per registrare le richieste che il gateway elabora per le API REST dei modelli linguistici di grandi dimensioni. Per ogni richiesta, Monitoraggio di Azure riceve:

  • Dati sull'utilizzo dei token, ad esempio token di richiesta, token di completamento e token totali

  • Nome del modello usato

  • Facoltativamente, i messaggi di richiesta e risposta: richiesta e completamento

    Monitoraggio di Azure suddivide le richieste e le risposte di grandi dimensioni in più voci di log con numeri di sequenza per la ricostruzione successiva, se necessario.

Seguire questa procedura per abilitare un'impostazione di diagnostica che indirizza i log dell'API del modello linguistico a un'area di lavoro Log Analytics. Per altre informazioni, vedere Abilitare l'impostazione di diagnostica per i log di Monitoraggio di Azure.

  1. Nel portale di Azure passare all'istanza di Gestione API di Azure.

  2. Nel menu a sinistra, in Monitoraggio, selezionare Impostazioni> di diagnostica+ Aggiungi impostazione di diagnostica.

  3. Configurare l'impostazione per inviare i log del gateway di intelligenza artificiale a un'area di lavoro Log Analytics:

    • In Log, selezionare Log correlati al gateway di intelligenza artificiale generativa.
    • In Dettagli destinazione selezionare Invia all'area di lavoro Log Analytics.
  4. Rivedere o configurare altre impostazioni e apportare modifiche, se necessario.

  5. Seleziona Salva.

Screenshot delle impostazioni diagnostiche per i log del gateway di intelligenza artificiale nel portale.

Abilitare la registrazione di richieste o risposte per l'API del modello linguistico

È possibile abilitare le impostazioni di diagnostica per tutte le API o personalizzare la registrazione per API specifiche. Seguire questa procedura per registrare sia le richieste del modello linguistico che i messaggi di risposta per un'API. Per altre informazioni, vedere Modificare le impostazioni di registrazione api.

  1. Nel menu a sinistra dell'istanza di Gestione API selezionare API>e quindi selezionare il nome dell'API.
  2. Selezionare Impostazioni nella barra superiore.
  3. Scorrere verso il basso fino alla sezione Diagnostic Logs e selezionare Monitoraggio di Azure.
  4. In Registra messaggi LLM selezionare Abilitato.
  5. Selezionare Richieste di log e immettere una dimensione in byte, ad esempio 32768.
  6. Selezionare Completamento log e immettere una dimensione in byte, ad esempio 32768.
  7. Esaminare altre impostazioni e apportare modifiche, se necessario. Seleziona Salva.

Screenshot dell'abilitazione della registrazione dei log del modello linguistico per un'API nel portale.

Annotazioni

Se si abilita la raccolta, sia le richieste del modello linguistico sia i messaggi di risposta fino a 32 KB sono inviati come un'unica voce. I messaggi di dimensioni superiori a 32 KB vengono suddivisi e registrati in blocchi da 32 KB con numeri di sequenza per una ricostruzione successiva. I messaggi di richiesta e i messaggi di risposta non possono superare 2 MB ciascuno.

Esaminare la cartella di lavoro di analisi per le API del modello linguistico

Il dashboard Monitoraggio di Azure basato su Analytics fornisce informazioni dettagliate sull'utilizzo dell'API del modello linguistico e sul consumo di token usando i dati aggregati in un'area di lavoro Log Analytics. Per altre informazioni, vedere Get API analytics in Gestione API di Azure.

  1. Nel menu a sinistra dell'istanza di Gestione API selezionare Monitoraggio>analisi.
  2. Selezionare la scheda Modelli linguistici .
  3. Esaminare le metriche e le visualizzazioni per l'utilizzo e le richieste di token API del modello linguistico in un intervallo di tempo selezionato.

Screenshot dell'analisi per le API dei modelli di linguaggio nel portale.

Esaminare i log di Monitoraggio di Azure per le richieste e le risposte

Esaminare il log ApiManagementGatewayLlmLog per informazioni dettagliate sulle richieste e le risposte del modello linguistico, tra cui consumo di token, distribuzione del modello usata e altri dettagli su intervalli di tempo specifici.

Le richieste e le risposte, inclusi i messaggi in blocchi per richieste e risposte di grandi dimensioni, vengono visualizzate in voci di log separate che è possibile correlare usando il CorrelationId campo .

A scopo di controllo, usare una query Kusto simile alla query seguente per unire ogni richiesta e risposta in un singolo record. Modificare la query in modo da includere i campi da tenere traccia.

ApiManagementGatewayLlmLog
| extend RequestArray = parse_json(RequestMessages)
| extend ResponseArray = parse_json(ResponseMessages)
| mv-expand RequestArray
| mv-expand ResponseArray
| project
    CorrelationId,
    RequestContent = tostring(RequestArray.content),
    ResponseContent = tostring(ResponseArray.content)
| summarize
    Input = strcat_array(make_list(RequestContent), " . "),
    Output = strcat_array(make_list(ResponseContent), " . ")
    by CorrelationId
| where isnotempty(Input) and isnotempty(Output)

Screenshot dei risultati delle query per i log del modello linguistico nel portale.

Caricare dati in Microsoft Foundry per la valutazione del modello

È possibile esportare i dati di registrazione del modello linguistico come set di dati per model evaluation in Microsoft Foundry. Con la valutazione del modello, è possibile valutare le prestazioni dei modelli di intelligenza artificiale generativi e delle applicazioni rispetto a un modello di test o a un set di dati usando metriche di valutazione predefinite o personalizzate.

Per usare i log del modello linguistico come set di dati per la valutazione del modello:

  1. Unire i messaggi di richiesta e risposta del modello linguistico in un singolo record per ogni interazione, come illustrato nella sezione precedente. Includere i campi da usare per la valutazione del modello.
  2. Esportare il set di dati in formato CSV, compatibile con Microsoft Foundry.
  3. Nel portale di Microsoft Foundry creare una nuova valutazione per caricare e valutare il set di dati.

Per informazioni dettagliate su come creare ed eseguire una valutazione del modello in Microsoft Foundry, vedere Eseguire valutazioni dal portale di Microsoft Foundry.