Zarządzanie tokenami

Ukończone

Wyobraź sobie nagły wzrost ruchu w stosunku do interfejsu API, być może istnieje sprzedaż lub inny powód. Aby uniknąć nadmiernego użycia i możliwych zakłóceń w działaniu usługi, musisz dowiedzieć się, jak to zarządzać.

Zasady limitu tokenów usługi Azure OpenAI

Jak wspomniano na początku tej lekcji, nagły skok jest czymś, co należy zrobić. Dobrą wiadomością jest to, że usługa Azure API Management ma coś o nazwie Zasady limitu tokenów.

Te zasady umożliwiają klientom ustawianie limitów użycia tokenów, wyrażonych w tokenach na minutę (TPM) oraz zapewnienie sprawiedliwego i wydajnego wykorzystania zasobów openAI.

Kluczowe cechy i funkcje

Najważniejsze funkcje tych zasad to:

  • Precyzyjna kontrola: klienci mogą przypisywać limity oparte na tokenach na różnych kluczach liczników, takich jak klucz subskrypcji lub adres IP, dostosowując wymuszanie do określonych przypadków użycia.
  • Monitorowanie w czasie rzeczywistym: zasady opierają się na metrykach użycia tokenów zwracanych z punktu końcowego interfejsu OpenAI, co umożliwia dokładne monitorowanie i wymuszanie limitów w czasie rzeczywistym.
  • Wstępne obliczanie tokenów: umożliwia wstępne obliczanie tokenów monitów po stronie usługi Azure API Management, minimalizując niepotrzebne żądania do zaplecza openAI, jeśli limit został już przekroczony.
  • Rozszerzone dostosowywanie: klienci mogą stosować nagłówki i zmienne, takie jak tokeny używane i pozostałe tokeny w ramach zasad w celu uzyskania lepszej kontroli i dostosowywania.

Widać, że istnieje kilka funkcji, które ułatwiają zarządzanie kosztami i dzięki monitorowaniu w czasie rzeczywistym możesz upewnić się, że nie przekraczasz limitów.

Korzystanie

Aby użyć tych zasad, należy dodać ją do potoku przetwarzania przychodzącego operacji interfejsu API. Oto jak to zrobić:

<azure-openai-token-limit counter-key="key value"
        tokens-per-minute="number"
        estimate-prompt-tokens="true | false"    
        retry-after-header-name="custom header name, replaces default 'Retry-After'" 
        retry-after-variable-name="policy expression variable name"
        remaining-tokens-header-name="header name"  
        remaining-tokens-variable-name="policy expression variable name"
        tokens-consumed-header-name="header name"
        tokens-consumed-variable-name="policy expression variable name" />

Istnieje kilka atrybutów, które można ustawić, ale najważniejsze są następujące:

  • counter-key: klucz do użycia do zliczania tokenów. Ta wartość może być kluczem subskrypcji lub adresem IP.
  • tokeny na minutę: liczba tokenów dozwolonych na minutę.
  • estimate-prompt-tokens: czy oszacować tokeny monitu, czy nie.

Zasady metryk emisji tokenu usługi Azure OpenAI

Te zasady dotyczą potrzeby szczegółowego monitorowania i analizy użycia tokenów w aplikacjach przy użyciu modeli Usługi Azure OpenAI.

Udostępniając kompleksowe metryki, pomaga to organizacjom:

  • Optymalizowanie alokacji zasobów: efektywne zrozumienie użycia tokenów i zarządzanie nim.
  • Ulepszanie podejmowania decyzji: uzyskaj wgląd w wzorce użycia, aby podejmować świadome decyzje dotyczące skalowania i zarządzania zasobami.
  • Ulepszanie monitor wydajności: śledzenie i analizowanie użycia tokenów w celu proaktywnego identyfikowania i rozwiązywania potencjalnych problemów

Jak używać zasad metryki tokenu emisji

Aby użyć tych zasad, należy dodać ją do potoku przetwarzania przychodzącego operacji interfejsu API. Poniżej przedstawiono sposób kodowania go w formacie XML:

<azure-openai-emit-token-metric
        namespace="metric namespace" >      
        <dimension name="dimension name" value="dimension value" />
        ...additional dimensions...
</azure-openai-emit-token-metric>

Oto przykład użycia kilku wymiarów:

<policies>
  <inbound>
      <azure-openai-emit-token-metric
            namespace="AzureOpenAI">   
            <dimension name="User ID" />
            <dimension name="Client IP" value="@(context.Request.IpAddress)" />
            <dimension name="API ID" />
        </azure-openai-emit-token-metric> 
  </inbound>
  <outbound>
  </outbound>
</policies>

W powyższym przykładzie:

  • zasady są skonfigurowane do emitowania metryk tokenu do przestrzeni nazw AzureOpenAI z wymiarami identyfikatora użytkownika, adresu IP klienta i identyfikatora interfejsu API.
  • Wartość wymiaru adresu IP klienta jest ustawiona na adres IP klienta wysyłającego żądanie.

Wyobraź sobie, że teraz możesz wyświetlić te metryki na pulpicie nawigacyjnym i monitorować użycie interfejsu API w czasie rzeczywistym. Na przykład można zobaczyć, ile tokenów jest używanych przez określonego użytkownika lub ile tokenów jest używanych przez określony interfejs API. Ta zaawansowana funkcja, która ułatwia optymalizowanie zasobów i podejmowanie świadomych decyzji dotyczących skalowania i zarządzania zasobami.