Megosztás a következőn keresztül:


Szemantikai gyorsítótárazás engedélyezése LLM API-khoz az Azure API Managementben

AZ ALÁBBIAKRA VONATKOZIK: Minden API-kezelési szint

Az LLM API-kérésekre adott válaszok szemantikai gyorsítótárazásának engedélyezése a háttérbeli API-kra vonatkozó sávszélesség és feldolgozási követelmények csökkentése és az API-felhasználók által észlelt kisebb késés érdekében. A szemantikai gyorsítótárazással gyorsítótárazott válaszokat adhat vissza azonos kérésekhez és hasonló jelentésű kérésekhez, még akkor is, ha a szöveg nem azonos. A háttérben lásd az oktatóanyagot: Az Azure Managed Redis használata szemantikai gyorsítótárként.

Feljegyzés

A jelen cikk konfigurációs lépései bemutatják, hogyan engedélyezheti a Microsoft Foundry-modellekben az Azure OpenAI-ból az API Managementhez hozzáadott API-k szemantikai gyorsítótárazását. Hasonló lépésekkel engedélyezheti a szemantikai gyorsítótárazást az Azure AI Model Inference API-n vagy a külső következtetésszolgáltatókon keresztül kiszolgált OpenAI-kompatibilis modelleken keresztül elérhető nagyméretű nyelvi modellek (LLM) API-k esetében.

Előfeltételek

A Csevegő API üzembe helyezésének tesztelése

Először tesztelje az Azure OpenAI üzembe helyezését, hogy a Csevegés befejezése API vagy a Chat API a várt módon működjön. A lépésekért lásd : Azure OpenAI API importálása az Azure API Managementbe.

Tesztelje például az Azure OpenAI Chat API-t úgy, hogy post kérést küld az API-végpontnak a kérés törzsében lévő üzenettel. A válasznak tartalmaznia kell a kérés befejezését. Példakérés:

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

a kérelem törzsével:

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

Ha a kérés sikeres, a válasz tartalmazza a csevegőüzenet befejezését.

Háttérrendszer létrehozása beágyazási API-hoz

Hozzon létre egy háttérerőforrást a beágyazási API üzembe helyezéséhez a következő beállításokkal:

  • Név – A választott név, például a beágyazások háttérrendszere. Ezzel a névvel hivatkozhat a háttérrendszerre a szabályzatokban.

  • Típus – Egyéni URL-cím kiválasztása.

  • Futtatókörnyezet URL-címe – A beágyazási API üzembe helyezésének URL-címe az Azure OpenAI-ban, a következőhöz hasonlóan: https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings (lekérdezési paraméterek nélkül).

  • Hitelesítő adatok – Lépjen a Menedzselt identitás lapra.

    • Ügyfélidentitás – Válassza ki a rendszer által hozzárendelt identitást , vagy adjon meg egy felhasználó által hozzárendelt felügyelt identitás ügyfél-azonosítóját.
    • Erőforrás-azonosító – Adjon meg egy https://cognitiveservices.azure.com/ az Azure OpenAI számára.

A beágyazások háttérrendszerének tesztelése

A beágyazások háttérrendszerének teszteléséhez hozzon létre egy API-műveletet az Azure OpenAI API-hoz:

  1. Az API Tervezés lapján válassza a + Művelet hozzáadása lehetőséget.
  2. Adjon meg egy megjelenítendő nevet , például beágyazásokat , és opcionálisan adjon nevet a műveletnek.
  3. Az Előtér
  4. A Fejlécek lapon adjon hozzá egy szükséges fejlécet a névvel Content-Type és az értékkelapplication/json.
  5. Válassza az Mentésgombot.

Konfigurálja a következő szabályzatokat az API-művelet bejövő feldolgozási szakaszában. A set-backend-service szabályzatban cserélje le a létrehozott háttérrendszer nevét.

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

A Teszt lapon tesztelje a műveletet egy api-version olyan értékkel rendelkező lekérdezési paraméter hozzáadásával, mint a 2024-02-01. Adjon meg egy érvényes kérelemtörzset. Példa:

{"input":"Hello"}

Ha a kérés sikeres, a válasz tartalmazza a bemeneti szöveg vektoros ábrázolását. Példa válasz:

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

Szemantikai gyorsítótárazási irányelvek konfigurálása

Ha engedélyezni szeretné az Azure OpenAI API-k szemantikai gyorsítótárazását az Azure API Managementben, alkalmazza a következő szabályzatokat: az egyik, hogy ellenőrizze a gyorsítótárat a kérések elküldése előtt (keresés), a másik pedig a válaszok későbbi újrafelhasználásához (tároló):

  • Az API bejövő feldolgozási szakaszában adja hozzá az azure-openai-szemantic-cache-lookup szabályzatot. Az attribútumban embeddings-backend-id adja meg a létrehozott Beágyazások API-háttérrendszert.

    Feljegyzés

    Ha engedélyezi a szemantikai gyorsítótárazást más nagy nyelvi modell API-khoz, használja inkább az llm-szemantic-cache-lookup szabályzatot.

    Példa:

    <azure-openai-semantic-cache-lookup
        score-threshold="0.15"
        embeddings-backend-id="embeddings-backend"
        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>
    <rate-limit calls="10" renewal-period="60" />
    

    Feljegyzés

    Adjon hozzá egy sebességkorlát-szabályzatot (vagy kulcsonkénti sebességkorlátozási szabályzatot) a gyorsítótár-keresés után, hogy korlátozza a hívások számát, és megakadályozza a háttérszolgáltatás túlterhelését abban az esetben, ha a gyorsítótár nem érhető el.

  • Az API kimenő feldolgozási szakaszában adja hozzá az azure-openai-szemantic-cache-store szabályzatot.

    Feljegyzés

    Ha engedélyezi a szemantikai gyorsítótárazást más nagy nyelvi modell API-khoz, használja inkább az llm-szemantic-cache-store szabályzatot.

    Példa:

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

Gyorsítótárazás megerősítése

Annak ellenőrzéséhez, hogy a szemantikai gyorsítótárazás a várt módon működik-e, kövesse nyomon a tesztelés befejezésének vagy a csevegés befejezésének műveletét a portál tesztkonzoljával. A nyomkövetés vizsgálatával győződjön meg arról, hogy a gyorsítótárat a későbbi próbálkozások során használja. További információ az API-hívások nyomon követéséről az Azure API Managementben.

Módosítsa a score-threshold keresési házirend attribútumát annak szabályozásához, hogy egy bejövő kérésnek milyen szorosan kell egyeznie a gyorsítótárazott kéréssel a tárolt válasz visszaadásához. Az alacsonyabb pontszám küszöbértéke azt jelenti, hogy a kéréseknek magasabb szemantikai hasonlósággal kell rendelkezniük a gyorsítótárazott válaszok visszaadásához. A küszöbérték feletti pontszámokkal rendelkező kérések nem használják a gyorsítótárazott választ.

Ha például a gyorsítótárat használja, a Kimenet szakasz az alábbi képernyőképhez hasonló bejegyzéseket tartalmaz:

Képernyőkép a kérések nyomkövetéséről az Azure Portalon.