Udostępnij za pomocą


Uzyskiwanie buforowanych odpowiedzi żądań interfejsu API usługi Azure OpenAI

DOTYCZY: Wszystkie warstwy usługi API Management

azure-openai-semantic-cache-lookup Użyj zasad, aby wykonać wyszukiwanie w pamięci podręcznej odpowiedzi odpowiedzi na żądania interfejsu API uzupełniania czatu usługi Azure OpenAI ze skonfigurowanej zewnętrznej pamięci podręcznej na podstawie wektorowej odległości monitu do poprzednich żądań i określonego progu oceny podobieństwa. Buforowanie odpowiedzi zmniejsza wymagania dotyczące przepustowości i przetwarzania nałożone na interfejs API usługi Azure OpenAI zaplecza i zmniejsza opóźnienie postrzegane przez użytkowników interfejsu API.

Uwaga

Uwaga

Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.

Obsługiwane modele usługi Azure OpenAI w modelach usługi Azure AI Foundry

Te zasady są używane z interfejsami API dodanymi do usługi API Management z poziomu usługi Azure OpenAI w modelach rozwiązania AI Foundry następujących typów:

Typ API Obsługiwane modele
Uzupełnianie czatu gpt-3.5

gpt-4

gpt-4o

gpt-4o-mini

o1

o3
Osadzanie text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002
Odpowiedzi (wersja zapoznawcza) gpt-4o(Wersje: 2024-11-20, , 2024-08-062024-05-13)

gpt-4o-mini (Wersja: 2024-07-18)

gpt-4.1 (Wersja: 2025-04-14)

gpt-4.1-nano (Wersja: 2025-04-14)

gpt-4.1-mini (Wersja: 2025-04-14)

gpt-image-1 (Wersja: 2025-04-15)

o3 (Wersja: 2025-04-16)

o4-mini (Wersja: '2025-04-16)

Uwaga

Tradycyjne interfejsy API uzupełniania są dostępne tylko w starszych wersjach modelu i obsługa jest ograniczona.

Aby uzyskać bieżące informacje o modelach i ich możliwościach, zobacz Artykuł Azure OpenAI in Foundry Models (Usługa Azure OpenAI w modelach usługi Foundry).

Instrukcja zasad

<azure-openai-semantic-cache-lookup
    score-threshold="score threshold to return cached response"
    embeddings-backend-id ="backend entity ID for embeddings API"
    embeddings-backend-auth ="system-assigned"             
    ignore-system-messages="true | false"      
    max-message-count="count" >
    <vary-by>"expression to partition caching"</vary-by>
</azure-openai-semantic-cache-lookup>

Atrybuty

Atrybut opis Wymagani Wartość domyślna
próg oceny Próg wyniku określa, jak blisko monit przychodzący musi odpowiadać buforowanemu monitowi, aby zwrócić jego przechowywaną odpowiedź. Wartości wahają się od 0,0 do 1,0. Niższe wartości wymagają większej podobieństwa semantycznego dla dopasowania. Dowiedz się więcej. Tak Nie dotyczy
embeddings-backend-id Zaplecze Identyfikator wywołania interfejsu API osadzania. Tak Nie dotyczy
embeddings-backend-auth Uwierzytelnianie używane do osadzania zaplecza interfejsu API. Tak. Musi być ustawiona wartość system-assigned. Nie dotyczy
ignoruj komunikaty systemowe Wartość logiczna. Po ustawieniu true opcji (zalecane) program usuwa komunikaty systemowe z monitu o ukończenie czatu przed oceną podobieństwa pamięci podręcznej. Nie. fałsz
max-message-count Jeśli zostanie określona, liczba pozostałych komunikatów dialogowych, po których buforowanie jest pomijane. Nie. Nie dotyczy

Elementy

Nazwa/nazwisko opis Wymagani
vary-by Wyrażenie niestandardowe określone w czasie wykonywania, którego buforowanie partycji wartości. W przypadku dodania wielu vary-by elementów wartości są łączone w celu utworzenia unikatowej kombinacji. Nie.

Użycie

Uwagi dotyczące użycia

  • Te zasady można użyć tylko raz w sekcji zasad.
  • Dostosuj wartość score-threshold na podstawie aplikacji, aby upewnić się, że właściwa czułość jest używana do określania, kiedy zwracać buforowane odpowiedzi dla zapytań. Zacznij od niskiej wartości, takiej jak 0,05, i dostosuj się do optymalizacji współczynnika trafień pamięci podręcznej w celu chybienia.
  • Próg oceny powyżej 0,2 może prowadzić do niezgodności pamięci podręcznej. Rozważ użycie niższej wartości w przypadku poufnych przypadków użycia.
  • Kontroluj dostęp między użytkownikami do wpisów pamięci podręcznej, określając przy użyciu vary-by określonych identyfikatorów użytkownika lub grupy użytkowników.
  • Model osadzania powinien mieć wystarczającą pojemność i wystarczający rozmiar kontekstu, aby uwzględnić wolumin monitu i monity.
  • Rozważ dodanie zasad llm-content-safety z monitem o ochronę przed atakami monitowymi.
  • Zalecamy skonfigurowanie zasad limitu szybkości (lub zasad rate-limit-by-key ) natychmiast po każdym wyszukiwaniu w pamięci podręcznej. Dzięki temu usługa zaplecza nie jest przeciążona, jeśli pamięć podręczna nie jest dostępna.

Przykłady

Przykład z odpowiednimi zasadami azure-openai-semantic-cache-store

W poniższym przykładzie pokazano, jak używać azure-openai-semantic-cache-lookup zasad wraz z zasadami azure-openai-semantic-cache-store w celu pobierania semantycznie podobnych buforowanych odpowiedzi z progiem oceny podobieństwa wynoszącego 0,05. Buforowane wartości są partycjonowane według identyfikatora subskrypcji obiektu wywołującego.

Uwaga

Dodaj zasady limitu szybkości (lub zasady rate-limit-by-key ) po wyszukiwaniu pamięci podręcznej, aby pomóc ograniczyć liczbę wywołań i zapobiec przeciążeniu usługi zaplecza, jeśli pamięć podręczna nie jest dostępna.

<policies>
    <inbound>
        <base />
        <azure-openai-semantic-cache-lookup
            score-threshold="0.05"
            embeddings-backend-id ="azure-openai-backend"
            embeddings-backend-auth ="system-assigned" >
            <vary-by>@(context.Subscription.Id)</vary-by>
        </azure-openai-semantic-cache-lookup>
        <rate-limit calls="10" renewal-period="60" />
    </inbound>
    <outbound>
        <azure-openai-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz: