Rejestruj użycie tokenów, sygnały i uzupełnienia do interfejsów API modeli językowych

Z tego artykułu dowiesz się, jak skonfigurować rejestrowanie za pomocą usługi Azure Monitor dla żądań i odpowiedzi API modelu językowego w usłudze Azure API Management.

Administrator usługi API Management może używać dzienników żądań i odpowiedzi interfejsu API modelu językowego oraz dzienników bramy usługi API Management w scenariuszach, takich jak:

  • Oblicz użycie na potrzeby rozliczeń. Oblicz metryki użycia do rozliczeń na podstawie liczby zużytych tokenów przez każdą aplikację lub klienta API (na przykład podzielone według identyfikatora subskrypcji lub adresu IP).

  • Sprawdź komunikaty. Sprawdź i przeanalizuj polecenia i sugestie, aby ułatwić debugowanie, audyt i ocenę modelu.

Dowiedz się więcej o:

Wymagania wstępne

  • Wystąpienie usługi Azure API Management.
  • Interfejs API do uzupełniania rozmów modelu językowego zintegrowany z Azure API Management. Na przykład zaimportuj interfejs API rozwiązania Microsoft Foundry.
  • Dostęp do obszaru roboczego usługi Azure Log Analytics.
  • Odpowiednie uprawnienia do konfigurowania ustawień diagnostycznych i dzienników dostępu w usłudze API Management.

Włącz ustawienie diagnostyczne dla dzienników interfejsu API modelu językowego

Włącz ustawienie diagnostyczne, aby rejestrować żądania, które brama przetwarza dla dużych interfejsów API REST modelu językowego. Dla każdego żądania Azure Monitor odbiera:

  • Dane dotyczące użycia tokenów, takie jak tokeny monitu, tokeny odpowiedzi i łączna liczba tokenów

  • Nazwa używanego modelu

  • Opcjonalnie komunikaty żądania i odpowiedzi: monit i zakończenie

    Azure Monitor dzieli duże żądania i odpowiedzi na wiele wpisów dziennika z numerami sekwencji, aby można je było później zrekonstruować, jeśli zajdzie taka potrzeba.

Uwaga / Notatka

Usługa API Management przechwytuje dane o użyciu tokenów z odpowiedzi interfejsu API modelu językowego. W scenariuszach, w których brakuje użycia tokenu (na przykład przerwanego strumienia lub przerwanego połączenia), użycie tokenu może nie być rejestrowane lub niedokładne.

Wykonaj następujące kroki, aby włączyć ustawienie diagnostyczne kierujące dzienniki interfejsu API modelu językowego do obszaru roboczego Log Analytics. Aby uzyskać więcej informacji, zobacz Włączanie ustawienia diagnostycznego dla dzienników usługi Azure Monitor.

  1. Na Portalu Azure przejdź do wystąpienia usługi Azure API Management.

  2. W menu po lewej stronie w obszarze Monitorowanie wybierz pozycję Ustawienia>diagnostyczne+ Dodaj ustawienie diagnostyczne.

  3. Skonfiguruj ustawienie wysyłania dzienników bramy AI do obszaru roboczego Log Analytics.

    • W obszarze Dzienniki wybierz pozycję Dzienniki związane z bramą generatywną AI.
    • W obszarze Szczegóły miejsca docelowego wybierz pozycję Wyślij do obszaru roboczego usługi Log Analytics.
  4. Przejrzyj lub skonfiguruj inne ustawienia i w razie potrzeby wprowadź zmiany.

  5. Wybierz Zapisz.

Zrzut ekranu ustawień diagnostyki logów bramy AI w portalu.

Włącz rejestrowanie żądań lub odpowiedzi dla API modelu językowego

Możesz włączyć ustawienia diagnostyczne dla wszystkich interfejsów API lub dostosować rejestrowanie dla określonych interfejsów API. Wykonaj następujące kroki, aby rejestrować żądania modelu języka i komunikaty odpowiedzi dla interfejsu API. Aby uzyskać więcej informacji, zobacz Modyfikowanie ustawień rejestrowania interfejsu API.

  1. W menu po lewej stronie wystąpienia usługi API Management wybierz pozycję API>API, a następnie wybierz nazwę interfejsu API.
  2. Wybierz pozycję Ustawienia na górnym pasku.
  3. Przewiń w dół do sekcji Diagnostic Logs i wybierz Azure Monitor.
  4. W Log LLM messages wybierz opcję Włączone.
  5. Wybierz Monity logu i wprowadź rozmiar w bajtach, na przykład 32768.
  6. Wybierz pozycję Uzupełnianie dziennika i wprowadź rozmiar w bajtach, na przykład 32768.
  7. Przejrzyj inne ustawienia i w razie potrzeby wprowadź zmiany. Wybierz Zapisz.

Zrzut ekranu przedstawiający włączenie logowania modelu językowego dla interfejsu API w portalu.

Uwaga / Notatka

Jeśli włączysz zbieranie, żądania modelu językowego lub komunikaty odpowiedzi o rozmiarze do 32 KB są wysyłane w jednym wpisie. Komunikaty większe niż 32 KB są podzielone i rejestrowane we fragmentach 32 KB z numerami sekwencji na potrzeby późniejszej rekonstrukcji. Wiadomości żądań oraz odpowiedzi nie mogą przekraczać 2 MB każda.

Przeglądanie analitycznego skoroszytu dla API modelu językowego

Pulpit nawigacyjny oparty na Azure Monitor Analytics zapewnia wgląd w użycie interfejsu API modelu językowego i użycie tokenów przy użyciu danych zagregowanych w obszarze roboczym Log Analytics. Aby uzyskać więcej informacji, zobacz Pobierz analizę interfejsu API w Azure API Management.

  1. W menu po lewej stronie wystąpienia usługi API Management wybierz pozycję Monitorowanie>analizy.
  2. Wybierz kartę Modele językowe .
  3. Sprawdź metryki i wizualizacje dotyczące użycia tokenów API modelu językowego oraz żądań w wybranym zakresie czasu.

Zrzut ekranu przedstawiający analizę interfejsów API modelu językowego w portalu.

Przeglądanie dzienników usługi Azure Monitor pod kątem żądań i odpowiedzi

Przejrzyj dziennik ApiManagementGatewayLlmLog w celu uzyskania szczegółowych informacji o żądaniach i odpowiedziach modelu językowego, w tym zużycia żetonów, używanego wdrożenia modelu i innych szczegółów w określonych zakresach czasu.

Żądania i odpowiedzi, w tym komunikaty fragmentowane dla dużych żądań i odpowiedzi, są wyświetlane w oddzielnych wpisach dziennika, które można skorelować przy użyciu CorrelationId pola.

Do celów inspekcji użyj zapytania Kusto podobnego do poniższego zapytania, aby dołączyć każde żądanie i odpowiedź w jednym rekordzie. Dostosuj zapytanie, aby uwzględnić pola, które chcesz śledzić.

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)

Zrzut ekranu przedstawiający wyniki zapytania dla dzienników modelu językowego w portalu.

Przekazywanie danych do rozwiązania Microsoft Foundry na potrzeby oceny modelu

Dane rejestrowania modelu językowego można eksportować jako zestaw danych na potrzeby oceny modelu w Microsoft Foundry. W przypadku oceny modelu można ocenić wydajność generowanych modeli i aplikacji sztucznej inteligencji względem modelu testowego lub zestawu danych przy użyciu wbudowanych lub niestandardowych metryk oceny.

Aby użyć dzienników modelu językowego jako zestawu danych do oceny modelu:

  1. Dołącz żądania modelu językowego i komunikaty odpowiedzi do pojedynczego rekordu dla każdej interakcji, jak pokazano w poprzedniej sekcji. Uwzględnij pola, których chcesz użyć do oceny modelu.
  2. Wyeksportuj zestaw danych do formatu CSV, który jest zgodny z programem Microsoft Foundry.
  3. W portalu Microsoft Foundry utwórz nową ocenę, aby przekazać i ocenić zestaw danych.

Aby uzyskać szczegółowe informacje na temat tworzenia i uruchamiania oceny modelu w usłudze Microsoft Foundry, zobacz Run evaluations from the Microsoft Foundry portal.