Sdílet prostřednictvím


Získání odpovědí rozhraní API Azure OpenAI uložených v mezipaměti

PLATÍ PRO: Všechny úrovně služby API Management

azure-openai-semantic-cache-lookup Pomocí zásad můžete provádět vyhledávání odpovědí na požadavky rozhraní API pro dokončování chatu Azure OpenAI z nakonfigurované externí mezipaměti na základě vektorové blízkosti výzvy k předchozím požadavkům a zadané prahové hodnoty skóre podobnosti. Ukládání odpovědí do mezipaměti snižuje požadavky na šířku pásma a zpracování uložené na back-endovém rozhraní Api OpenAI a snižuje latenci vnímanou příjemci rozhraní API.

Poznámka:

Poznámka:

Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.

Podporované modely Azure OpenAI v modelech Azure AI Foundry

Zásady se používají s rozhraními API přidanými do služby API Management z Azure OpenAI v modelech AI Foundry následujících typů:

Typ rozhraní API Podporované modely
Dokončení chatu gpt-3.5

gpt-4

gpt-4o

gpt-4o-mini

o1

o3
Vkládání text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002
Odpovědi (Preview) gpt-4o (Verze: 2024-11-20, 2024-08-06, 2024-05-13)

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

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

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

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

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

o3 (Verze: 2025-04-16)

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

Poznámka:

Tradiční rozhraní API pro dokončování jsou k dispozici pouze se staršími verzemi modelu a podpora je omezená.

Aktuální informace o modelech a jejich možnostech najdete v tématu Azure OpenAI in Foundry Models.

Prohlášení o zásadách

<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>

Atributy

Atribut Popis Požaduje se Výchozí
prahová hodnota skóre Prahová hodnota skóre definuje, jak přesně příchozí výzva musí odpovídat výzvě uložené v mezipaměti, aby se vrátila uložená odpověď. Hodnota se pohybuje od 0,0 do 1,0. Nižší hodnoty vyžadují pro shodu vyšší sémantickou podobnost. Další informace. Ano
embeddings-back-end-id Back-end ID pro volání rozhraní API pro vkládání Ano
embeddings-back-end-auth Ověřování používané pro back-end rozhraní API pro vkládání Ano. Musí být nastavena na system-assignedhodnotu .
ignore-system-messages Logický. Pokud je nastavená hodnota true (doporučeno), odebere systémové zprávy z výzvy k dokončení chatu před posouzením podobnosti mezipaměti. Ne false (nepravda)
max-message-count Pokud je zadáno, počet zbývajících dialogových zpráv, po kterých se přeskočí ukládání do mezipaměti. Ne

Elementy

Název Popis Požaduje se
vary-by Vlastní výraz určený za běhu, jehož hodnoty se ukládají do mezipaměti. Pokud se přidá více vary-by prvků, hodnoty se zřetědí a vytvoří jedinečnou kombinaci. Ne

Využití

Poznámky k využití

  • Tuto zásadu je možné v oddílu zásad použít jenom jednou.
  • Dolaďte hodnotu score-threshold na základě vaší aplikace, abyste měli jistotu, že se použije správná citlivost k určení, kdy se mají odpovědi uložené v mezipaměti vkládat do mezipaměti pro dotazy. Začněte s nízkou hodnotou, například 0,05, a upravte tak, aby se optimalizoval poměr přístupů do mezipaměti k chybějícím hodnotám.
  • Prahová hodnota skóre vyšší než 0,2 může vést k neshodě mezipaměti. Zvažte použití nižší hodnoty pro citlivé případy použití.
  • Řízení přístupu mezi uživateli k položkám mezipaměti zadáním vary-by konkrétních identifikátorů uživatele nebo skupiny uživatelů.
  • Model vkládání by měl mít dostatečnou kapacitu a dostatečnou velikost kontextu pro přizpůsobení svazku a výzev výzvy.
  • Zvažte přidání zásad zabezpečení obsahu llm s výzvou k ochraně před útoky typu prompt.
  • Doporučujeme nakonfigurovat zásady omezení rychlosti (nebo zásady omezení rychlosti podle klíče ) okamžitě po každém vyhledávání v mezipaměti. To pomáhá zabránit přetížení back-endové služby, pokud mezipaměť není dostupná.

Příklady

Příklad s odpovídajícími zásadami azure-openai-smantic-cache-store

Následující příklad ukazuje, jak použít zásadu azure-openai-semantic-cache-lookup spolu se zásadou azure-openai-semantic-cache-store k načtení sémanticky podobných odpovědí uložených v mezipaměti s prahovou hodnotou skóre podobnosti 0,05. Hodnoty v mezipaměti jsou rozdělené podle ID předplatného volajícího.

Poznámka:

Po vyhledávání cache přidejte politiku omezení rychlosti (nebo politiku omezení podle klíčů ), která pomůže omezit počet hovorů a zabrání přetížení backendové služby v případě, že cache není dostupná.

<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>

Další informace o práci se zásadami najdete v tématech: