Aracılığıyla paylaş


Azure API Management ile JavaScript için Azure OpenAI'nin ölçeklendirilmesi

Sohbet uygulamasını Azure OpenAI Hizmeti 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ı:
    • Yük dengeleyici örneği dağıtılana kadar sohbet uygulamasını dağıtmayı 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ştirin ve yeniden dağıtın.
  • Azure API Management ile yük dengeleyici.

Not

Bu makale, makaledeki örnekler ve kılavuzlar için temel olarak bir veya daha fazla yapay zeka uygulaması şablonu kullanır. Yapay zeka uygulama şablonları, dağıtımı kolay, bakımlı başvuru uygulamaları sağlar. Yapay zeka uygulamalarınız için yüksek kaliteli bir başlangıç noktası sağlamaya yardımcı olur.

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ırlar nedeniyle konuşma hatalarına neden olur.

Azure OpenAI kaynağının vurgulandığı sohbet uygulaması mimarisini gösteren Diyagramı.

Sohbet uygulamasını bu sınırlara girmeden kullanmak için API Management ile yük dengeli bir çözüm kullanın. Bu çözüm, API Management'tan sohbet uygulama sunucunuza tek bir uç noktayı sorunsuz bir şekilde kullanıma sunar.

üç Azure OpenAI kaynağının önünde Azure API Management ile sohbet uygulaması mimarisini gösteren Diyagramı.

API Management kaynağı, API katmanı olarak 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.

üç Azure OpenAI uç nokta grubuyla normal bir senaryo gösteren Diyagramı. İki uç noktanın ilk grubu başarılı trafik alı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.

429 başarısız yanıt kodu ve istemcinin yeniden denemek için kaç saniye beklemesi gerektiğine dair yanıt üst bilgisi içeren bir kısıtlama senaryosunu gösteren Diyagram.

Önkoşullar

  • Azure aboneliği. Ücretsiz bir tane oluşturun

  • "Geliştirme kapsayıcıları, bu makalenin tamamlanması için gerekli tüm bağımlılıklarla birlikte her iki örnek için de mevcuttur." Geliştirme kapsayıcılarını GitHub Codespaces'ta (tarayıcıda) veya Visual Studio Code'u kullanarak yerel olarak çalıştırabilirsiniz.

    • Codespaces (önerilir)
    • Visual Studio Code
    • Codespaces'ı kullanmak için yalnızca GitHub hesabı gerekir

Azure API Management yerel dengeleyici örnek uygulamasını açma

GitHub Codespaces, Web için Visual Studio Code'u kullanıcı arabirimi olarak kullanarak GitHub tarafından yönetilen bir geliştirme kapsayıcısını ç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.

GitHub Codespaces'ta Aç .

Önemli

Tüm GitHub hesapları, iki çekirdek örneğiyle her ay 60 saate kadar ücretsiz gitHub Codespaces kullanabilir. Daha fazla bilgi için GitHub Codespaces'un aylık dahil edilen depolama ve çekirdek saatlerine bakın.

Azure API Management yük dengeleyicisini dağıtma

  1. Yük dengeleyiciyi Azure'a dağıtmak için Azure Geliştirici CLI'sinde (AZD) oturum açın:

    azd auth login
    
  2. Oturum açma yönergelerini tamamlayın.

  3. Yük dengeleyici uygulamasını dağıtma:

    azd up
    

    Dağıtım için bir abonelik ve bölge seçin. Sohbet uygulamasıyla aynı abonelik ve bölge olması gerekmez.

  4. 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

Sohbet uygulamasını yük dengeleyici uç noktasıyla yeniden dağıtma

Bu örnekler sohbet uygulaması örneğinde tamamlanır.

  1. Aşağıdaki seçeneklerden birini kullanarak sohbet uygulaması örneğinin geliştirme kapsayıcısını açın.

    Dil GitHub Codespaces Visual Studio Code
    .NET GitHub Codespaces'ta Aç Open in Dev ContainersGeliştirme Kapsayıcılarında Aç
    JavaScript GitHub Codespaces'ta Aç Open in Dev ContainersGeliştirme Kapsayıcılarında Aç
    Piton GitHub Codespaces'ta Aç Open in Dev ContainersGeliştirme Kapsayıcılarında Aç
  2. Azure Geliştirici CLI'sinde oturum açın (AZD):

    azd auth login
    

    Oturum açma yönergelerini tamamlayın.

  3. AZDgibi bir isimle bir chat-app ortamı oluşturun.

    azd env new <name>
    
  4. Sohbet uygulamasının arka ucuna Azure 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
    
  5. Sohbet uygulamasının arka ucuna Azure OpenAI isteği için özel URL'yi bildirmek için bu ortam değişkenini ekleyin:

    azd env set AZURE_OPENAI_CUSTOM_URL <APIM_GATEWAY_URL>
    
  6. Sohbet uygulamasını dağıtın:

    azd up
    

TPM kotasını yapılandırma

Varsayılan olarak, yük dengeleyicideki Azure OpenAI örneklerinin her biri dakikada 30.000 belirteç (TPM) kapasitesiyle dağıtılır. Sohbet uygulamasını, kota sorunu yaşamadan birçok kullanıcıya uyum sağlayacak şekilde tasarlandığından güvenle kullanabilirsiniz. Şu durumlarda bu değeri değiştirin:

  • Dağıtım kapasitesi hataları alıyorsunuz: Değeri düşürebilirsiniz.
  • Daha yüksek kapasiteye ihtiyacınız var: Değeri yükseltin.
  1. Değeri değiştirmek için aşağıdaki komutu kullanın:

    azd env set OPENAI_CAPACITY 50
    
  2. Yük dengeleyiciyi yeniden dağıtın:

    azd up
    

Kaynakları temizleme

Sohbet uygulaması ve 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.

  • .NET
  • JavaScript
  • Python

Yük dengeleyici kaynaklarını temizleme

Azure kaynaklarını silin ve kaynak kodunu kaldırın:

azd down --purge --force

Anahtarlar aşağıdakileri sağlar:

  • purge: Silinen kaynaklar hemen temizlenir. Azure OpenAI belirteçlerini dakika başına yeniden kullanabilirsiniz.
  • force: Silme işlemi, kullanıcı onayı gerektirmeden sessizce gerçekleşir.

Kaynakları temizleme

  • GitHub Codespaces
  • Visual Studio Code

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 GitHub Codespaces kapsamında aylık dahil edilen depolama ve çekirdek saatler başlığını inceleyin.

  1. GitHub Codespaces panosundaoturum açın.

  2. azure-samples/openai-apim-lb GitHub deposundan alınan çalışmakta olan kod alanlarınızı bulun.

    Durumu ve şablonları da dahil olmak üzere çalışan tüm kod boşluklarını gösteren ekran görüntüsü.

  3. GitHub Codespaces öğesinin bağlam menüsünü açın ve Silöğesini seçin.

    Sil seçeneğinin vurgulandığı tek bir kod alanının bağlam menüsünü gösteren ekran görüntüsü.

Yardım alın

Azure API Management yük dengeleyicisini dağıtırken sorun yaşıyorsanız sorununuzu deponun Sorunları web sayfasına ekleyin.

Örnek kod

Bu makalede kullanılan örnekler şunlardır:

Sonraki adımlar

  • Azure İzleyici'de Azure API Management tanılama verilerini görüntüle
  • Azure Load Testing hizmetiyle sohbet uygulamanızı yük testi için Azure Load Testing kullanın.