Povolení sémantické mezipaměti pro rozhraní API Azure OpenAI ve službě Azure API Management

PLATÍ PRO: Basic v2 | Standard v2

Povolte sémantické ukládání odpovědí do požadavků rozhraní API Azure OpenAI, aby se snížily požadavky na šířku pásma a zpracování uložené na back-endových rozhraních API a nižší latenci, které uživatelé rozhraní API vnímali. Sémantické ukládání do mezipaměti můžete vrátit odpovědi uložené v mezipaměti pro stejné výzvy a také pro výzvy, které jsou podobné významu, i když text není stejný. Základní informace najdete v kurzu : Použití služby Azure Cache for Redis jako sémantické mezipaměti.

Poznámka:

Kroky konfigurace v tomto článku umožňují sémantické ukládání do mezipaměti pro rozhraní API Azure OpenAI. Tyto kroky je možné zobecnit, aby bylo možné povolit sémantické ukládání do mezipaměti pro odpovídající velká rozhraní API pro jazykový model (LLM), která jsou k dispozici prostřednictvím rozhraní API pro odvozování modelů Azure AI.

Požadavky

Testování nasazení rozhraní API chatu

Nejprve otestujte nasazení Azure OpenAI a ujistěte se, že rozhraní API pro dokončování chatu nebo rozhraní API chatu funguje podle očekávání. Postup najdete v tématu Import rozhraní API Azure OpenAI do služby Azure API Management.

Otestujte například rozhraní API chatu Azure OpenAI odesláním požadavku POST do koncového bodu rozhraní API s výzvou v textu požadavku. Odpověď by měla obsahovat dokončení výzvy. Příklad požadavku:

POST https://my-api-management.azure-api.net/my-api/openai/deployments/chat-deployment/chat/completions?api-version=2024-02-01

s textem požadavku:

{"messages":[{"role":"user","content":"Hello"}]}

Když požadavek proběhne úspěšně, odpověď zahrnuje dokončení zprávy chatu.

Vytvoření back-endu pro rozhraní API pro vkládání

Nakonfigurujte back-endový prostředek pro nasazení rozhraní API pro vkládání pomocí následujících nastavení:

  • Název – název podle vašeho výběru, například embeddings-backend. Tento název použijete k odkazu na back-end v zásadách.
  • Typ – vyberte vlastní adresu URL.
  • Adresa URL modulu runtime – adresa URL nasazení rozhraní API pro vkládání ve službě Azure OpenAI, podobně jako: https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings

Testování back-endu

Pokud chcete otestovat back-end, vytvořte operaci rozhraní API pro rozhraní API služby Azure OpenAI:

  1. Na kartě Návrh rozhraní API vyberte + Přidat operaci.
  2. Zadejte zobrazovaný název a volitelně název operace.
  3. V části Front-end v adrese URL vyberte POST a zadejte cestu /.
  4. Na kartě Záhlaví přidejte požadované záhlaví s názvem Content-Type a hodnotou application/json.
  5. Zvolte Uložit.

V části Příchozí zpracování operace rozhraní API nakonfigurujte následující zásady. V zásadách služby set-back-end nahraďte název back-endu, který jste vytvořili.

<policies>
    <inbound>
        <set-backend-service backend-id="embeddings-backend" />
        <authentication-managed-identity resource="https://cognitiveservices.azure.com/" />
        [...]
    </inbound>
    [...]
</policies>

Na kartě Test otestujte operaci přidáním parametru api-version dotazu s hodnotou, například 2024-02-01. Zadejte platný text požadavku. Příklad:

{"input":"Hello"}

Pokud je požadavek úspěšný, odpověď obsahuje vektorovou reprezentaci vstupního textu:

{
    "object": "list",
    "data": [{
        "object": "embedding",
        "index": 0,
        "embedding": [
            -0.021829502,
            -0.007157768,
            -0.028619017,
            [...]
        ]
    }]
}

Konfigurace sémantických zásad ukládání do mezipaměti

Nakonfigurujte následující zásady, které umožňují sémantické ukládání do mezipaměti pro rozhraní API Azure OpenAI ve službě Azure API Management:

  • V části Příchozí zpracování pro rozhraní API přidejte zásadu vyhledávání azure-openai-smantic-cache-lookup. V atributu embeddings-backend-id zadejte back-end rozhraní API embeddings, který jste vytvořili.

    Poznámka:

    Pokud povolíte sémantické ukládání do mezipaměti pro jiná rozhraní API pro velký jazykový model, použijte místo toho zásadu llm-sémantic-cache-lookup .

    Příklad:

    <azure-openai-semantic-cache-lookup
        score-threshold="0.8"
        embeddings-backend-id="embeddings-deployment"
        embeddings-backend-auth="system-assigned"
        ignore-system-messages="true"
        max-message-count="10">
        <vary-by>@(context.Subscription.Id)</vary-by>
    </azure-openai-semantic-cache-lookup>
    
    
  • V části Odchozí zpracování rozhraní API přidejte zásadu úložiště azure-openai-smantic-cache-store.

    Poznámka:

    Pokud povolíte sémantické ukládání do mezipaměti pro jiná rozhraní API pro velké jazykové modely, použijte místo toho zásadu úložiště llm-sémantic-cache-store .

    Příklad:

    <azure-openai-semantic-cache-store duration="60" />
    

Potvrzení ukládání do mezipaměti

Pokud chcete ověřit, že sémantické ukládání do mezipaměti funguje podle očekávání, sledujte operaci dokončení testu nebo dokončení chatu pomocí testovací konzoly na portálu. Zkontrolujte, jestli se mezipaměť použila při následných pokusech. Přečtěte si další informace o trasování volání rozhraní API ve službě Azure API Management.

Pokud se například použila mezipaměť, oddíl Výstup obsahuje položky podobné položkám na následujícím snímku obrazovky:

Snímek obrazovky s trasování žádostí na webu Azure Portal