Azure API Management ile JavaScript için Azure OpenAI'nin ölçeklendirilmesi
Sohbet uygulamasını Azure OpenAI belirteci ve model kotası sınırlarının ötesine genişletmek için uygulamanıza kurumsal düzeyde yük dengeleme eklemeyi öğrenin. Bu yaklaşım, üç Azure OpenAI kaynağı arasındaki trafiği akıllı bir şekilde yönlendirmek için Azure API Management'ı kullanır.
Bu makalede iki ayrı örnek dağıtmanız gerekir:
Sohbet uygulaması
- Sohbet uygulamasını henüz dağıtmıyorsanız yük dengeleyici örneği dağıtılana kadar bekleyin.
- Sohbet uygulamasını zaten bir kez dağıttıysanız ortam değişkenini yük dengeleyici için özel bir uç noktayı destekleyecek şekilde değiştirecek ve yeniden dağıtacaksınız.
Azure API Management ile yük dengeleyici
Not
Bu makalede, makaledeki örnekler ve kılavuzlar için temel olarak bir veya daha fazla yapay zeka uygulaması şablonu kullanılır. Yapay zeka uygulama şablonları, yapay zeka uygulamalarınız için yüksek kaliteli bir başlangıç noktası sağlamaya yardımcı olan, bakımlı, kolay dağıtılan başvuru uygulamaları sağlar.
Azure OPENAI'yi Azure API Management ile yük dengeleme mimarisi
Azure OpenAI kaynağı belirli belirteç ve model kota sınırlarına sahip olduğundan, tek bir Azure OpenAI kaynağı kullanan bir sohbet uygulaması bu sınırlardan dolayı konuşma hatalarına neden olabilir.
Sohbet uygulamasını bu sınırlara uymadan kullanmak için Azure API Management ile yük dengeli bir çözüm kullanın. Bu çözüm, Azure API Management'tan sohbet uygulama sunucunuza tek bir uç noktayı sorunsuz bir şekilde kullanıma sunar.
Bir API katmanı olarak Azure API Management kaynağı, bir dizi Azure OpenAI kaynağının önünde yer alır. API katmanı iki senaryo için geçerlidir: normal ve kısıtlanmış. Belirteç ve model kotasının kullanılabilir olduğu normal bir senaryoda , Azure OpenAI kaynağı API katmanı ve arka uç uygulama sunucusu aracılığıyla 200 değerini döndürür.
Kota sınırları nedeniyle bir kaynak kısıtlandığında , API katmanı özgün sohbet uygulaması isteğini yerine getirmek için farklı bir Azure OpenAI kaynağını hemen yeniden deneyebilir.
Önkoşullar
Azure aboneliği. Ücretsiz bir tane oluşturun
İstenen Azure aboneliğinde Azure OpenAI'ya erişim verilir.
Şu anda bu hizmete erişim yalnızca uygulama tarafından sağlanmaktadır. adresinden formu https://aka.ms/oai/accesstamamlayarak Azure OpenAI'ye erişim için başvurabilirsiniz.
Geliştirme kapsayıcıları her iki örnek için de kullanılabilir ve bu makalenin tamamlanması için tüm bağımlılıklar gereklidir. Geliştirme kapsayıcılarını GitHub Codespaces'ta (tarayıcıda) veya Visual Studio Code'u kullanarak yerel olarak çalıştırabilirsiniz.
- Codespaces'ı kullanmak için yalnızca GitHub hesabı gerekir
Azure API Management yerel dengeleyici örnek uygulamasını açma
GitHub Codespaces, Kullanıcı arabirimi olarak Web için Visual Studio Code ile GitHub tarafından yönetilen bir geliştirme kapsayıcısı çalıştırır. En basit geliştirme ortamı için GitHub Codespaces'ı kullanarak bu makaleyi tamamlamak için doğru geliştirici araçlarını ve bağımlılıklarını önceden yüklemiş olursunuz.
Önemli
Tüm GitHub hesapları Codespaces'ı her ay 2 çekirdek örneğiyle 60 saate kadar ücretsiz olarak kullanabilir. Daha fazla bilgi için bkz . GitHub Codespaces aylık dahil depolama ve çekirdek saatler.
Azure API Management yük dengeleyiciyi dağıtma
Yük dengeleyiciyi Azure'a dağıtmak için Azure Geliştirici CLI'sında (AZD) oturum açın.
azd auth login
Oturum açma yönergelerini tamamlayın.
Yük dengeleyici uygulamasını dağıtın.
azd up
Dağıtım için bir abonelik ve bölge seçmeniz gerekir. Bunların sohbet uygulamasıyla aynı abonelik ve bölge olması gerekmez.
Devam etmeden önce dağıtımın tamamlanmasını bekleyin. Bu işlem 30 dakika kadar sürebilir.
Yük dengeleyici uç noktasını alma
Dağıtımdaki ortam değişkenlerini görmek için aşağıdaki bash komutunu çalıştırın. Bu bilgiye daha sonra ihtiyacınız olacak.
azd env get-values | grep APIM_GATEWAY_URL
Yük dengeleyici uç noktası ile Sohbet uygulamasını yeniden dağıtma
Bunlar sohbet uygulaması örneğinde tamamlanır.
Aşağıdaki seçeneklerden birini kullanarak sohbet uygulaması örneğinin geliştirme kapsayıcısını açın.
Dil Codespaces Visual Studio Code .NET JavaScript Python Azure Geliştirici CLI'sında (AZD) oturum açın.
azd auth login
Oturum açma yönergelerini tamamlayın.
gibi
chat-app
bir ada sahip bir AZD ortamı oluşturun.azd env new <name>
Sohbet uygulamasının arka ucuna OpenAI istekleri için özel bir URL kullanmasını bildiren aşağıdaki ortam değişkenini ekleyin.
azd env set OPENAI_HOST azure_custom
Sohbet uygulamasının arka ucuna OpenAI isteği için özel URL'nin değerini bildiren aşağıdaki ortam değişkenini ekleyin.
azd env set AZURE_OPENAI_CUSTOM_URL <APIM_GATEWAY_URL>
Sohbet uygulamasını dağıtın.
azd up
Dakika başına belirteç kotasını (TPM) yapılandırma
Varsayılan olarak, yük dengeleyicideki OpenAI örneklerinin her biri 30.000 TPM (dakika başına belirteç) kapasitesiyle dağıtılır. Sohbet uygulamasını, kotası dolmadan birçok kullanıcı arasında ölçeklendirilecek şekilde oluşturulduğundan güvenle kullanabilirsiniz. Şu durumlarda bu değeri değiştirin:
- Dağıtım kapasitesi hataları alırsınız: bu değeri düşürebilirsiniz.
- Daha yüksek kapasite planlama, değeri yükseltme.
Değeri değiştirmek için aşağıdaki komutu kullanın.
azd env set OPENAI_CAPACITY 50
Yük dengeleyiciyi yeniden dağıtın.
azd up
Kaynakları temizleme
Hem sohbet uygulaması hem de yük dengeleyici ile işiniz bittiğinde kaynakları temizleyin. Bu makalede oluşturulan Azure kaynakları Azure aboneliğinize faturalandırılır. Gelecekte bu kaynaklara ihtiyaç duymayı beklemiyorsanız, daha fazla ücret ödememek için bunları silin.
Sohbet uygulaması kaynaklarını temizleme
Bu kaynakları temizlemek için sohbet uygulaması makalesine dönün.
Yük dengeleyici kaynaklarını temizleme
Azure kaynaklarını silmek ve kaynak kodu kaldırmak için aşağıdaki Azure Geliştirici CLI komutunu çalıştırın:
azd down --purge --force
Anahtarlar aşağıdakileri sağlar:
purge
: Silinen kaynaklar hemen temizlenir. Bu, Azure OpenAI TPM'yi yeniden kullanmanıza olanak tanır.force
: Silme işlemi, kullanıcı onayı gerektirmeden sessizce gerçekleşir.
GitHub Codespaces'i temizleme
GitHub Codespaces ortamını silmek, hesabınız için elde ettiğiniz ücretsiz çekirdek başına saat yetkilendirmesi miktarını en üst düzeye çıkarmanızı sağlar.
Önemli
GitHub hesabınızın yetkilendirmeleri hakkında daha fazla bilgi için bkz . GitHub Codespaces aylık dahil depolama ve çekirdek saatler.
GitHub Codespaces panosunda (https://github.com/codespaces ) oturum açın.
GitHub deposundan
azure-samples/openai-apim-lb
alınan şu anda çalışan Codespaces'ınızı bulun.Codespaces öğesinin bağlam menüsünü açın ve sil'i seçin.
Yardım alın
Azure API Management yük dengeleyicisini dağıtırken sorun yaşıyorsanız sorununuzu deponun Sorunları'na kaydedin.
Örnek kod
Bu makalede kullanılan örnekler şunlardır:
Sonraki adım
- Azure İzleyici'de Azure API Management tanılama verilerini görüntüleme
- Sohbet uygulamanızı yük testi için Azure Load Testing'i kullanma
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin