Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Zjistěte, jak do aplikace přidat vyrovnávání zatížení na podnikové úrovni, abyste mohli chatovací aplikaci rozšířit nad rámec limitů tokenu služby Azure OpenAI a kvót modelu. Tento přístup využívá Azure API Management k inteligentnímu směrování provozu mezi třemi prostředky Azure OpenAI.
Tento článek vyžaduje nasadit dva samostatné ukázkové příklady:
- Chatovací aplikace:
- Počkejte s nasazením chatovací aplikace, až bude nasazena ukázka nástroje pro vyrovnávání zatížení.
- Pokud jste chatovací aplikaci už jednou nasadili, změňte proměnnou prostředí tak, aby podporovala vlastní koncový bod nástroje pro vyrovnávání zatížení, a znovu ji nasaďte.
- Nástroj pro vyrovnávání zatížení se službou Azure API Management
Poznámka:
Tento článek používá jednu nebo více šablon aplikací AI jako základ pro příklady a doporučení v tomto článku. Šablony aplikací AI poskytují dobře udržované referenční implementace, které se dají snadno nasadit. Pomáhají zajistit vysoce kvalitní výchozí bod pro vaše aplikace AI.
Architektura pro vyrovnávání zatížení Azure OpenAI se službou Azure API Management
Vzhledem k tomu, že prostředek Azure OpenAI má konkrétní limity kvót tokenů a modelů, je chatovací aplikace, která používá jeden prostředek Azure OpenAI, náchylný k selhání konverzací kvůli těmto limitům.
Pokud chcete chatovací aplikaci používat bez dosažení těchto limitů, použijte řešení s vyrovnáváním zatížení ve službě API Management. Toto řešení bezproblémově zpřístupňuje jeden koncový bod ze služby API Management na váš chatovací aplikační server.
Prostředek API Management, jako vrstva API, se nachází před sadou prostředků Azure OpenAI. Vrstva rozhraní API se vztahuje na dva scénáře: normální a omezené. Během normálního scénáře , kdy je k dispozici kvóta tokenů a modelů, vrátí prostředek Azure OpenAI 200 zpět prostřednictvím vrstvy rozhraní API a back-endového aplikačního serveru.
Pokud je prostředek omezený kvůli omezením kvót, může vrstva rozhraní API okamžitě zkusit jiný prostředek Azure OpenAI, aby splnila původní žádost o chatovací aplikaci.
Požadavky
Předplatné Azure. Vytvořte si ho zdarma
Vývojové kontejnery jsou k dispozici pro obě ukázky se všemi závislostmi potřebnými k dokončení tohoto článku. Vývojové kontejnery můžete spouštět v GitHub Codespaces (v prohlížeči) nebo místně pomocí editoru Visual Studio Code.
- Codespaces (doporučeno)
- Visual Studio Code
- Pouze účet na GitHubu je vyžadován pro používání Codespaces.
Otevřete ukázkovou aplikaci místního nástroje pro vyrovnávání zátěže ve službě Azure API Management
- GitHub Codespaces (doporučeno)
- Visual Studio Code
Důležité
Všechny účty GitHubu můžou každý měsíc používat GitHub Codespaces až na 60 hodin zdarma se dvěma základními instancemi. Další informace najdete v GitHub Codespaces měsíčně zahrnutém úložišti a počtu základních hodin.
Nasazení nástroje pro vyrovnávání zatížení služby Azure API Management
Pokud chcete nasadit nástroj pro vyrovnávání zatížení do Azure, přihlaste se k Azure Developer CLI (
AZD
):azd auth login
Dokončete pokyny pro přihlášení.
Nasazení aplikace nástroje pro vyrovnávání zatížení:
azd up
Vyberte předplatné a oblast pro nasazení. Nemusí být stejné předplatné a oblast jako chatovací aplikace.
Než budete pokračovat, počkejte na dokončení nasazení. Tento proces může trvat až 30 minut.
Získání koncového bodu pro vyrovnávání zatížení
Spuštěním následujícího příkazu Bash zobrazte proměnné prostředí z nasazení. Tyto informace budete potřebovat později.
azd env get-values | grep APIM_GATEWAY_URL
Znovu nasadit chatovou aplikaci s koncovým bodem vyrovnávače zátěže
Tyto příklady jsou dokončeny v ukázce chatovací aplikace.
- Počáteční nasazení
- Přesunutí
Otevřete ukázkový vývojový kontejner chatovací aplikace pomocí jedné z následujících možností.
Jazyk GitHub Codespaces Visual Studio Code .NET Otevřít v GitHub Codespaces
```html Otevřít v Dev Containers ```
JavaScript Otevřít v GitHub Codespaces
```html Otevřít v Dev Containers ```
Python Otevřít v GitHub Codespaces
```html Otevřít v Dev Containers ```
Přihlaste se k Azure Developer CLI (
AZD
):azd auth login
Dokončete pokyny pro přihlášení.
Vytvořte prostředí
AZD
s názvem, napříkladchat-app
:azd env new <name>
Přidejte následující proměnnou prostředí, která říká back-endu chatovací aplikace, aby pro požadavky Azure OpenAI používala vlastní adresu URL:
azd env set OPENAI_HOST azure_custom
Přidejte tuto proměnnou prostředí, abyste backendu chatovací aplikace určili vlastní adresu URL požadavku Azure OpenAI.
azd env set AZURE_OPENAI_CUSTOM_URL <APIM_GATEWAY_URL>
Nasazení chatovací aplikace:
azd up
Nakonfigurujte kvótu TPM
Ve výchozím nastavení se každá instance Azure OpenAI v nástroji pro vyrovnávání zatížení nasadí s kapacitou 30 000 tokenů za minutu (TPM). Chatovací aplikaci můžete používat s jistotou, že se škáluje napříč mnoha uživateli bez vyčerpání kvóty. Tuto hodnotu změňte v těchto případech:
- Zobrazí se chyby kapacity nasazení: Snižte hodnotu.
- Potřebujete vyšší kapacitu: Zvyšte hodnotu.
Ke změně hodnoty použijte následující příkaz:
azd env set OPENAI_CAPACITY 50
Znovu nasaďte nástroj pro vyrovnávání zatížení:
azd up
Vyčištění prostředků
Po dokončení práce s chatovou aplikací a vyrovnávačem zatížení vyčistěte prostředky. Prostředky Azure vytvořené v tomto článku se fakturují k vašemu předplatnému Azure. Pokud v budoucnu tyto prostředky nepotřebujete, odstraňte je, abyste se vyhnuli účtování dalších poplatků.
Vyčistění prostředků chatové aplikace
Vraťte se k článku o chatovací aplikaci, abyste vyčistili tyto zdroje.
- .NET
- JavaScript
- Python
Vyčistěte prostředky nástroje pro vyvažování zátěže.
Odstraňte prostředky Azure a odeberte zdrojový kód:
azd down --purge --force
Přepínače poskytují:
-
purge
: Smazané prostředky jsou okamžitě odstraněny. Tokeny Azure OpenAI můžete opakovaně používat za minutu. -
force
: Odstranění probíhá tiše, aniž by vyžadovalo souhlas uživatele.
Vyčištění prostředků
- GitHub Codespaces
- Visual Studio Code
Odstraněním prostředí GitHub Codespaces můžete zajistit, že maximalizujete nárok na maximální počet bezplatných hodin na jedno jádro, které máte k dispozici pro svůj účet.
Důležité
Další informace o oprávněních vašeho účtu GitHub najdete v tématu měsíčně zahrnuté úložiště a hodiny procesoru GitHub Codespaces.
Přihlaste se k řídicímu panelu GitHub Codespaces.
Vyhledejte aktuálně spuštěné codespaces, které jsou odvozeny z úložiště
azure-samples/openai-apim-lb
na GitHubu.Otevřete místní nabídku pro položku GitHub Codespaces a pak vyberte Odstranit.
Získání pomoci
Pokud máte potíže s nasazením vyrovnávače zatížení Azure API Management, přidejte váš problém do webové stránky Problémy úložiště.
Ukázkový kód
Ukázky použité v tomto článku zahrnují:
- Chatovací aplikace v JavaScriptu s RAG
- Vyrovnávač zatížení se službou Azure API Management
Další kroky
- Zobrazení diagnostických dat služby Azure API Management ve službě Azure Monitor
- Pomocí Azure Load Testing otestujte zátěží vaši chatovací aplikaci pomocí služby Azure Load Testing.
- Další informace o tom, jak se AZD používá v této šabloně: