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


A generatív AI-átjárók képességeinek áttekintése az Azure API Managementben

A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint

Ez a cikk olyan képességeket mutat be az Azure API Managementben, amelyekkel kezelheti a generatív AI API-kat, például az Azure OpenAI Szolgáltatás által biztosítottakat. Az Azure API Management szabályzatok, metrikák és egyéb funkciók széles skáláját kínálja az intelligens alkalmazásokat kiszolgáló API-k biztonságának, teljesítményének és megbízhatóságának javítása érdekében. Ezeket a funkciókat együttesen generatív AI -átjáró-képességeknek nevezzük a generatív AI API-khoz.

Feljegyzés

  • Ez a cikk az Azure OpenAI Szolgáltatás által közzétett API-k kezelésére vonatkozó képességekre összpontosít. A GenAI-átjáró számos képessége más nagy méretű nyelvi modellek (LLM) API-kra is vonatkozik, beleértve az Azure AI Model Inference API-n keresztül elérhető funkciókat is.
  • A Generatív AI-átjáró képességei az API Management meglévő API-átjárójának funkciói, nem pedig külön API-átjárók. Az API Managementtel kapcsolatos további információkért tekintse meg az Azure API Management áttekintését.

A generatív AI API-k kezelésének kihívásai

A generatív AI-szolgáltatások egyik fő erőforrása a jogkivonatok. Az Azure OpenAI Szolgáltatás percalapú jogkivonatokban (TPM) kifejezett kvótát rendel a modelltelepítésekhez, amelyet aztán eloszt a modellfelhasználók között – például különböző alkalmazásokat, fejlesztői csapatokat, vállalaton belüli részlegeket stb.

Az Azure megkönnyíti egyetlen alkalmazás csatlakoztatását az Azure OpenAI Service-hez: közvetlenül egy API-kulccsal és a modell központi telepítési szintjén konfigurált TPM-korláttal csatlakozhat. Amikor azonban elkezdi az alkalmazásportfólió bővítését, több alkalmazás is megjelenik, amelyek egyszeri vagy akár több, használatalapú fizetéses vagy kiosztott átviteli egységként (PTU) üzembe helyezett Azure OpenAI-szolgáltatásvégpontot hívnak meg. Ez bizonyos kihívásokkal jár:

  • Hogyan történik a jogkivonat-használat nyomon követése több alkalmazásban? Ki lehet számítani a keresztköltségeket az Azure OpenAI-szolgáltatásmodelleket használó alkalmazások/csapatok esetében?
  • Hogyan biztosítható, hogy egyetlen alkalmazás ne használja fel a teljes TPM-kvótát, így más alkalmazások nem használhatják az Azure OpenAI szolgáltatásmodelleket?
  • Hogyan osztja el biztonságosan az API-kulcsot több alkalmazás között?
  • Hogyan oszlik el a terhelés több Azure OpenAI-végpont között? Meg tudja győződni arról, hogy a véglegesített kapacitás kimerül a PTU-kban, mielőtt visszaesne a használatalapú fizetéses példányokra?

A cikk további része azt ismerteti, hogyan segíthet az Azure API Management ezeknek a kihívásoknak a megoldásában.

Azure OpenAI-szolgáltatás-erőforrás importálása API-ként

Api importálása egy Azure OpenAI-szolgáltatásvégpontról az Azure API-felügyeletbe egyetlen kattintással. Az API Management leegyszerűsíti az előkészítési folyamatot azáltal, hogy automatikusan importálja az OpenAPI-sémát az Azure OpenAI API-hoz, és beállítja a hitelesítést az Azure OpenAI-végponton felügyelt identitás használatával, így nincs szükség manuális konfigurálásra. Ugyanezen felhasználóbarát felületen előre konfigurálhatja a tokenkorlátokra vonatkozó szabályzatokat, és tokenmetrikákat bocsáthat ki.

Képernyőkép az Azure OpenAI API csempéről a portálon.

Jogkivonatkorlát-szabályzat

Konfigurálja az Azure OpenAI-jogkivonatok korlátszabályzatát , hogy az Azure OpenAI-szolgáltatásjogkivonatok használata alapján kezelje és kényszerítse az API-felhasználókra vonatkozó korlátokat. Ezzel a szabályzattal percenkénti jogkivonatokban (TPM) kifejezett korlátokat állíthat be.

Az Azure OpenAI-szolgáltatásjogkivonatok korlátozásának diagramja az API Managementben.

Ez a szabályzat rugalmasan rendelhet jogkivonatalapú korlátozásokat bármely számlálókulcshoz, például az előfizetési kulcshoz, a származó IP-címhez vagy egy szabályzatkifejezésen keresztül definiált tetszőleges kulcshoz. A szabályzat emellett lehetővé teszi a parancssori jogkivonatok előzetes számítását az Azure API Management oldalán, minimálisra csökkentve az Azure OpenAI Szolgáltatás háttérrendszerének szükségtelen kéréseit, ha a kérés már túllépte a korlátot.

Az alábbi egyszerű példa bemutatja, hogyan állíthat be előfizetési kulcsonként 500 TPM-korlátot:

<azure-openai-token-limit counter-key="@(context.Subscription.Id)" 
    tokens-per-minute="500" estimate-prompt-tokens="false" remaining-tokens-variable-name="remainingTokens">
</azure-openai-token-limit>

Tipp.

Az Azure AI Model Inference API-val elérhető LLM API-k jogkivonatkorlátjainak kezeléséhez és érvényesítéséhez az API Management az ezzel egyenértékű llm-token-limit szabályzatot biztosítja.

Jogkivonat metrikaszabályzatának kibocsátása

Az Azure OpenAI kibocsátja a tokenmetrika-szabályzatot , amely metrikákat küld az Application Insightsnak az LLM-jogkivonatok Azure OpenAI-szolgáltatás API-kkal történő felhasználásáról. A szabályzat segít áttekintést nyújtani az Azure OpenAI-szolgáltatásmodellek több alkalmazás vagy API-felhasználó közötti kihasználtságáról. Ez a szabályzat hasznos lehet a terhelés-visszavételi forgatókönyvekhez, a monitorozáshoz és a kapacitástervezéshez.

Az Azure OpenAI-szolgáltatásjogkivonat-metrikák API Management használatával történő kibocsátásának ábrája.

Ez a szabályzat rögzíti a kéréseket, a kiegészítéseket és a teljes jogkivonat-használati metrikákat, és elküldi őket egy tetszőleges Application Insights-névtérbe. Emellett konfigurálhatja vagy kiválaszthatja az előre definiált dimenziók közül a tokenhasználati metrikák felosztásához, így elemezheti a metrikákat előfizetés-azonosító, IP-cím vagy egy tetszőleges egyéni dimenzió alapján.

A következő szabályzat például metrikákat küld az Application Insightsnak ügyfél IP-cím, API és felhasználó szerint felosztva:

<azure-openai-emit-token-metric namespace="openai">
    <dimension name="Client IP" value="@(context.Request.IpAddress)" />
    <dimension name="API ID" value="@(context.Api.Id)" />
    <dimension name="User ID" value="@(context.Request.Headers.GetValueOrDefault("x-user-id", "N/A"))" />
</azure-openai-emit-token-metric>

Tipp.

Az Azure AI Model Inference API-val elérhető LLM API-k metrikáinak küldéséhez az API Management egyenértékű llm-emit-token-metric szabályzatot biztosít.

Háttérbeli terheléselosztó és megszakító

Az intelligens alkalmazások létrehozásakor az egyik kihívás annak biztosítása, hogy az alkalmazások rugalmasak legyenek a háttérrendszer hibáival szemben, és képesek legyenek kezelni a nagy terhelést. Az Azure OpenAI-szolgáltatásvégpontok azure API Managementbeli háttérrendszerekkel való konfigurálásával kiegyensúlyozza a terhelést. Kapcsolatcsoport-megszakító szabályokat is meghatározhat, hogy ne továbbíthassák a kéréseket az Azure OpenAI szolgáltatás háttérrendszereinek, ha nem válaszolnak.

A háttérbeli terheléselosztó támogatja a ciklikus időszeletelést, a súlyozást és a prioritásalapú terheléselosztást, így rugalmasan határozhatja meg az adott követelményeknek megfelelő terheléselosztási stratégiát. Definiálja például a terheléselosztó konfigurációjának prioritásait az egyes Azure OpenAI-végpontok optimális kihasználtságának biztosítása érdekében, különösen a PTU-ként vásárolt végpontok esetében.

A háttérbeli terheléselosztás API Managementben való használatát bemutató ábra.

A háttér-kapcsolatcsoport-megszakító dinamikus utazás időtartamával rendelkezik, és a háttérrendszer által biztosított Újrapróbálkozási-utó fejléc értékeit alkalmazza. Ez biztosítja a háttérrendszerek pontos és időben történő helyreállítását, maximalizálva a prioritási háttérrendszerek kihasználtságát.

A háttér-kapcsolatcsoport-megszakító API Managementben való használatát bemutató ábra.

Szemantikai gyorsítótárazási szabályzat

Konfigurálja az Azure OpenAI szemantikai gyorsítótárazási szabályzatait, hogy optimalizálja a tokenhasználatot a hasonló kérések befejezésének tárolásával.

Az API Management szemantikai gyorsítótárazásának diagramja.

Az API Managementben engedélyezze a szemantikai gyorsítótárazást az Azure Redis Enterprise vagy a RediSearch szolgáltatással kompatibilis és az Azure API Managementbe előkészített külső gyorsítótár használatával. Az Azure OpenAI Service Embeddings API, az azure-openai-szemantic-cache-store és az azure-openai-szemantic-cache-lookup szabályzatok használatával tárolja az azure-openai-szemantic-cache-lookup szabályzatokat, és lekéri a szemantikailag hasonló parancssori kiegészítéseket a gyorsítótárból. Ez a megközelítés biztosítja a befejezések újrafelhasználását, ami csökkentett jogkivonat-felhasználást és jobb választeljesítményt eredményez.

Tipp.

Az Azure AI Model Inference API-n keresztül elérhető LLM API-k szemantikai gyorsítótárazásának engedélyezéséhez az API Management egyenértékű llm-szemantic-cache-store-policy és llm-szemantic-cache-lookup-policy szabályzatokat biztosít.

Laborok és minták

Architektúra és tervezési szempontok