Sdílet prostřednictvím


Získání odpovědí rozhraní API pro velké jazykové modely v mezipaměti

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

llm-semantic-cache-lookup Pomocí zásad můžete provádět vyhledávání odpovědí na požadavky rozhraní LLM (Large Language Model) api 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. Ukládání odpovědí do mezipaměti snižuje požadavky na šířku pásma a zpracování způsobené back-endovým rozhraním LLM API 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

Použijte zásadu s rozhraními API LLM přidanými do služby Azure API Management, které jsou dostupné prostřednictvím rozhraní API pro odvozování modelů Azure AI nebo s modely kompatibilními s OpenAI, které obsluhují poskytovatelé odvozování třetích stran.

Prohlášení o zásadách

<llm-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>
</llm-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 llm-smantic-cache-store

Následující příklad ukazuje, jak použít zásadu llm-semantic-cache-lookup spolu se zásadou llm-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 />
        <llm-semantic-cache-lookup
            score-threshold="0.05"
            embeddings-backend-id ="llm-backend"
            embeddings-backend-auth ="system-assigned" >
            <vary-by>@(context.Subscription.Id)</vary-by>
        </llm-semantic-cache-lookup>
        <rate-limit calls="10" renewal-period="60" />
    </inbound>
    <outbound>
        <llm-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

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