Temel OpenAI uçtan uca sohbet başvuru mimarisi

Azure OpenAI Service
Azure Machine Learning
Azure App Service
Azure Key Vault
Azure Monitor

Kurumsal sohbet uygulamaları, konuşma etkileşimi aracılığıyla çalışanları güçlendirebilme özelliğine sahiptir. Bu durum özellikle OpenAI'nin GPT modelleri ve Meta'nın LLaMA modelleri gibi büyük dil modellerinin sürekli ilerlemesi nedeniyle geçerlidir. Bu sohbet uygulamaları sohbet için bir kullanıcı arabiriminden, kullanıcının sorgularıyla ilgili etki alanına özgü bilgileri içeren veri depolarından, ilgili bir yanıt üretmek için etki alanına özgü veriler üzerinde neden olan büyük dil modellerinden (LLM) ve bu bileşenler arasındaki etkileşimi denetleyan bir düzenleyiciden oluşur.

Bu makale, Azure OpenAI büyük dil modellerini kullanan kurumsal sohbet uygulamaları oluşturmak ve dağıtmak için temel bir mimari sağlar. Mimari, gelen istemlerden veri depolarına giden iş akışını düzenleyen yürütülebilir akışlar oluşturmak için Azure Machine Learning (AML) istem akışını kullanır ve gerekli diğer Python mantığıyla birlikte LLM'ler için topraklama verilerini getirir. Yürütülebilir akış, yönetilen çevrimiçi uç noktanın arkasındaki bir Azure Machine Learning işlem kümesine dağıtılır.

Özel sohbet kullanıcı arabiriminin (UI) barındırılması, Azure Uygulaması Hizmetleri'nde güvenli, alanlar arası yedekli ve yüksek oranda kullanılabilir bir web uygulaması dağıtmak için temel uygulama hizmetleri web uygulaması kılavuzunu izler. Bu mimaride App Service, özel uç noktalar üzerinden sanal ağ tümleştirmesi aracılığıyla Azure PaaS hizmetlerine iletişim kurar. Benzer şekilde, sohbet kullanıcı arabirimi App Service özel bir uç nokta üzerinden akış için yönetilen çevrimiçi uç noktayla iletişim kurar ve Azure Machine Learning çalışma alanına genel erişim devre dışı bırakılır.

Önemli

Makale temel uygulama hizmetleri web uygulamasından alınan bileşenleri veya mimari kararlarını kapsamaz. Sohbet kullanıcı arabirimini barındırmaya yönelik mimari rehberlik için lütfen bu makaleyi okuyun.

Machine Learning çalışma alanı, tüm giden bağlantıların onaylanmasını gerektiren yönetilen sanal ağ yalıtımıyla yapılandırılır. Bu yapılandırmayla, azure Depolama, Azure Container Registry ve Azure OpenAI gibi özel kaynaklara bağlantı sağlayan yönetilen özel uç noktaların yanı sıra yönetilen bir sanal ağ oluşturulur. Bu özel bağlantılar, akış yazma ve test sırasında ve Azure Machine Learning işlem akışına dağıtılan akışlar tarafından kullanılır.

İpucu

GitHub logosu Bu makale, Azure'da temel bir uçtan uca sohbet uygulamasını gösteren bir başvuru uygulaması tarafından desteklenmiştir. Bu uygulama, üretime yönelik ilk adımınızda özel çözüm geliştirme için temel olarak kullanılabilir.

Mimari

OpenAI ile temel uçtan uca sohbet mimarisini gösteren diyagram.

Şekil 1: OpenAI ile temel uçtan uca sohbet mimarisi

Bu mimarinin bir Visio dosyasını indirin.

Bileşenler

Bu mimarideki sohbet kullanıcı arabirimi temel App Service web uygulamasının mimarisini izlediğinden, bu mimarinin bileşenlerinin çoğu temel uygulama hizmetleri web uygulamasındaki kaynaklarla aynıdır. Bu bölümde vurgulanan bileşenler, sohbet akışları oluşturmak ve yönetmek için kullanılan bileşenlere, veri hizmetlerine ve LLM'leri kullanıma sunan hizmetlere odaklanır.

  • Azure Machine Learning , makine öğrenmesi modellerini eğitmek, dağıtmak ve yönetmek için kullanılan yönetilen bir bulut hizmetidir. Bu mimari, Büyük Dil Modelleri tarafından desteklenen yapay zeka uygulamaları için yürütülebilir akışlar geliştirmek ve dağıtmak için kullanılan Azure Machine Learning'in diğer birkaç özelliğini kullanır:
    • Azure Machine Learning istem akışı , kullanıcı istemlerini, Python kodu aracılığıyla eylemleri ve LLM'lere çağrıları bağlayan akışlar oluşturmanıza, değerlendirmenize ve dağıtmanıza olanak tanıyan bir geliştirme aracıdır. İstem akışı, bu mimaride istem, farklı veri depoları ve LLM arasında akışı düzenleyen katman olarak kullanılır.
    • Yönetilen çevrimiçi uç noktalar , gerçek zamanlı çıkarım için bir akış dağıtmanıza olanak tanır. Bu mimaride, Azure Machine Learning tarafından barındırılan istem akışlarını çağırmak üzere sohbet kullanıcı arabirimi için PaaS uç noktası olarak kullanılır.
  • Azure Depolama, istem akışı geliştirme için istem akışı kaynak dosyalarını kalıcı hale getirmek için kullanılır.
  • Azure Container Registry , her tür kapsayıcı dağıtımı için özel bir kayıt defterinde kapsayıcı görüntüleri ve yapıtları oluşturmanıza, depolamanıza ve yönetmenize olanak tanır. Bu mimaride akışlar kapsayıcı görüntüleri olarak paketlenir ve Azure Container Registry'de depolanır.
  • Azure OpenAI , GPT-4, GPT-3.5-Turbo ve Embeddings modelleri dahil olmak üzere Azure OpenAI'nin büyük dil modellerine REST API erişimi sağlayan tam olarak yönetilen bir hizmettir. Bu mimaride model erişimine ek olarak sanal ağ ve özel bağlantı, yönetilen kimlik desteği ve içerik filtreleme gibi yaygın kurumsal özellikleri eklemek için kullanılır.
  • Azure AI Search, tam metin arama, anlamsal arama, vektör araması ve karma aramayı destekleyen bir bulut arama hizmetidir. Azure AI Search, sohbet uygulamalarının arkasındaki akışlarda kullanılan ortak bir hizmet olduğundan mimariye dahildir. Azure AI Search, kullanıcı sorguları için uygun verileri almak ve dizine eklemek için kullanılabilir. İstem akışı, istemden uygun sorguyu ayıklamak, AI Arama'yı sorgulamak ve sonuçları Azure OpenAI modeli için temel veri olarak kullanmak için RAG desenini Alır Artırılmış Oluşturma'yı uygular.

Azure Machine Learning istem akışı

Kurumsal sohbet uygulamalarının arka ucu genellikle aşağıdaki akışa benzer bir desen izler:

  • Kullanıcı özel sohbet kullanıcı arabirimine (UI) bir istem girer
  • Bu istem arabirim kodu tarafından arka uca gönderilir
  • Kullanıcı amacı (soru veya yönerge) arka uç tarafından isteminden ayıklanır
  • (isteğe bağlı) Arka uç, kullanıcı istemiyle ilgili verileri barındıran veri depolarını belirler
  • Arka uç ilgili veri depolarını sorgular
  • Arka uç amacı, ilgili temel alma verilerini ve istemde sağlanan tüm geçmişleri LLM'ye gönderir.
  • Arka uç, kullanıcı arabiriminde görüntülenebilmesi için sonucunu döndürür

Arka uç, herhangi bir sayıda dilde uygulanabilir ve çeşitli Azure hizmetlerine dağıtılabilir. Bu mimaride, istemler, arka uç veri depoları ve LLM'ler arasında düzenlenmiş akışları oluşturmak, test etmek ve dağıtmak için kolaylaştırılmış bir deneyim sağladığından Azure Machine Learning istem akışı seçilmiştir.

Ağ güvenliği, kimlik tabanlı erişimin yanı sıra OpenAI kullanılarak temel uçtan uca sohbet mimarisinin merkezinde yer alır. Ağ mimarisi yüksek düzeyden aşağıdakileri sağlar:

  • Sohbet kullanıcı arabirimi trafiği için tek bir güvenli giriş noktası
  • Ağ trafiği filtrelendi
  • Aktarımdaki veriler TLS ile uçtan uca şifrelenir
  • Özel Bağlantı kullanarak Azure'da trafik tutularak veri sızdırma en aza indirilir
  • Ağ kaynakları mantıksal olarak gruplandırılır ve ağ segmentasyonu aracılığıyla birbirinden yalıtılır

Ağ akışları

Akış numaraları içeren OpenAI ile temel uçtan uca sohbet mimarisini gösteren diyagram.

Şekil 2: OpenAI ile temel uçtan uca sohbet mimarisi için ağ akışları

Bu diyagramdaki iki akış temel uygulama hizmetleri web uygulamasında ele alınmıştır: 1. son kullanıcıdan sohbet kullanıcı arabirimine ve 2'ye gelen akış. App Service'in Azure PaaS hizmetlerine akışı. Bu akışlarla ilgili ayrıntılar için bu makaleye bakın. Bu bölüm, Azure Machine Learning çevrimiçi uç nokta akışına odaklanır. Aşağıda temel App Service web uygulamasında çalışan sohbet kullanıcı arabiriminden Azure Machine Learning işlem akışına dağıtılan akışa kadar olan akış ayrıntılı olarak açıklanır:

  1. App Service tarafından barındırılan sohbet kullanıcı arabiriminden yapılan çağrı, özel bir uç nokta üzerinden Azure Machine Learning çevrimiçi uç noktasına yönlendirilir.
  2. Çevrimiçi uç nokta, çağrıyı dağıtılan akışı çalıştıran bir sunucuya yönlendirir. Çevrimiçi uç nokta hem yük dengeleyici hem de yönlendirici işlevi görür.
  3. Dağıtılan akışın gerektirdiği Azure PaaS hizmetlerine yapılan çağrılar yönetilen özel uç noktalar üzerinden yönlendirilir.

Azure Machine Learning'e giriş

Bu mimaride Azure Machine Learning çalışma alanına genel erişim devre dışıdır ve Azure Machine Learning çalışma alanı yapılandırması için özel uç noktayı takip eden özel erişim aracılığıyla erişim gerçekleşiyor. Aslında, kimlik tabanlı güvenliği tamamlamak için bu mimarinin tamamında özel uç noktalar kullanılır. Örneğin, App Service'te barındırılan sohbet kullanıcı arabiriminizin Azure Machine Learning uç noktaları dahil olmak üzere genel İnternet'e açık olmayan PaaS hizmetlerine bağlanmasına izin vererek.

Akış yazma için Azure Machine Learning çalışma alanına bağlanmak için özel uç nokta erişimi de gereklidir.

Akış numaralarıyla openAI akışı yazmak için bir atlama kutusu aracılığıyla Azure Machine Learning çalışma alanına bağlanan bir kullanıcıyı gösteren diyagram.

Şekil 3: Azure Machine Learning istem akışı yazarı için ağ akışları

Diyagramda, Azure Bastion aracılığıyla bir sanal makine atlama kutusuna bağlanan bir istem akışı yazarı gösterilmektedir. Bu atlama kutusundan yazar, atlama kutusuyla aynı ağdaki özel bir uç nokta üzerinden Machine Learning Çalışma Alanı'na bağlanabilir. Sanal ağ Bağlan, ExpressRoute veya VPN ağ geçitleri ve sanal ağ eşlemesi aracılığıyla da gerçekleştirilebilir.

Azure Machine Learning yönetilen sanal ağından Azure PaaS hizmetlerine akış

Azure Machine Learning çalışma alanının, tüm giden bağlantıların onaylanmasını gerektiren bir yapılandırmayla yönetilen sanal ağ yalıtımı için yapılandırılması önerilir. Bu mimari bu öneriye uyar. İki tür onaylı giden kuralı vardır. Gerekli giden kuralları, çözümün çalışması için gereken Azure Container Registry ve Azure Depolama gibi kaynaklardır. Kullanıcı tanımlı giden kuralları , iş akışınızın kullanacağını Azure OpenAI veya Azure AI Search gibi özel kaynaklara yöneliktir. Yönetilen sanal ağ oluşturulduğunda gerekli giden kuralları yapılandırılırken kullanıcı tanımlı giden kurallarını yapılandırmak sizin sorumluluğunuzdadır.

Giden kuralları, dış genel uç noktalar için özel uç noktalar, hizmet etiketleri veya FQDN'ler olabilir. Bu mimaride Azure Container Registry, Azure Depolama, Azure Key Vault, Azure OpenAI hizmeti ve Azure AI Search gibi Azure hizmetlerine bağlantı özel bağlantı üzerinden bağlanır. Bu mimaride olmasa da, FQDN giden kuralı yapılandırmayı gerektirebilecek bazı yaygın işlemler bir pip paketi indirerek GitHub deposunu kopyalayarak dış depolardan temel kapsayıcı görüntülerini indirir.

Sanal ağ segmentasyonu ve güvenliği

Bu mimarideki ağın aşağıdakiler için ayrı alt ağları vardır:

  • Application Gateway
  • App Service tümleştirme bileşenleri
  • Özel uç noktalar
  • Azure Bastion
  • Atlama kutusu sanal makinesi
  • Eğitim - bu mimaride model eğitimi için kullanılmaz
  • Puanlama

Her alt ağın, bu alt ağlara yönelik hem gelen hem de giden trafiği yalnızca gerekli olanla sınırlayan bir ağ güvenlik grubu vardır. Aşağıdaki tabloda, temelin her alt ağa eklediği NSG kurallarının basitleştirilmiş bir görünümü gösterilmektedir. Tablo kural adını ve işlevini verir.

Alt ağ Gelen Giden
snet-appGateway Sohbet kullanıcı arabirimi kullanıcılarımızın kaynak IP'leri (genel İnternet gibi) ve hizmet için gerekli öğeler için izinler Azure Uygulaması Hizmeti özel uç noktasına ve hizmet için gerekli öğelere erişim.
snet-PrivateEndpoints Yalnızca sanal ağdan gelen trafiğe izin verin. Yalnızca sanal ağa giden trafiğe izin verin.
snet-AppService Yalnızca sanal ağdan gelen trafiğe izin verin. Özel uç noktalara ve Azure İzleyici'ye erişime izin verin.
AzureBastionSubnet NSG erişimi ve Azure Bastion ile çalışma yönergelerine bakın NSG erişimi ve Azure Bastion ile çalışma yönergelerine bakın
snet-jumpbox Bastion Ana Bilgisayarı alt ağından gelen RDP ve SSH'ye izin verin. Özel uç noktalara erişime izin ver
snet-agents Yalnızca sanal ağdan gelen trafiğe izin verin. Yalnızca sanal ağa giden trafiğe izin verin.
snet eğitimi Yalnızca sanal ağdan gelen trafiğe izin verin. Yalnızca sanal ağa giden trafiğe izin verin.
snet puanlama Yalnızca sanal ağdan gelen trafiğe izin verin. Yalnızca sanal ağa giden trafiğe izin verin.

Diğer tüm trafik açıkça reddedilir.

Sanal ağ segmentasyonu ve güvenliği uygularken aşağıdaki noktaları göz önünde bulundurun.

  • Genel IP'ye sahip bir uygulama ağ geçidinin parçası olan bir alt ağ ile sanal ağ için DDoS korumasını etkinleştirin.
  • Mümkün olduğunda her alt ağa bir NSG ekleyin. Tam çözüm işlevselliğini etkinleştiren en katı kuralları kullanmanız gerekir.
  • Uygulama güvenlik gruplarını kullanın. Uygulama güvenlik grupları NSG'leri gruplandırmanıza olanak tanıyarak karmaşık ortamlar için kural oluşturmayı kolaylaştırır.

İçerik filtreleme ve uygunsuz kullanım izleme

Azure OpenAI hizmeti, hem giriş istemlerinde hem de çıkış tamamlamalarında zararlı olabilecek belirli içerik kategorilerini algılamak ve önlemek için sınıflandırma modellerinin bir dizisini kullanan bir içerik filtreleme sistemi içerir. Bu zararlı olabilecek içerik kategorileri arasında nefret, cinsel, kendine zarar verme, şiddet, küfür ve jailbreak (LLM kısıtlamalarını atlamak için tasarlanmış içerik) yer alır. Her kategori için içeriği filtrelemek istediğiniz içeriğin katılığını yapılandırabilirsiniz; seçenekler düşük, orta veya yüksektir. Bu başvuru mimarisi sıkı bir yaklaşım benimser. Ayarları gereksinimlerinize göre ayarlamanız gerekir.

Azure OpenAI hizmeti, içerik filtrelemeye ek olarak kötüye kullanım izleme özellikleri de uygular. Kötüye kullanım izleme, hizmetin Azure OpenAI kullanım kurallarını ihlal eden bir şekilde kullanılmasını öneren yinelenen içerik ve/veya davranışların örneklerini algılamak ve azaltmak için tasarlanmış zaman uyumsuz bir işlemdir. Örneğin, verileriniz son derece hassassa veya kötüye kullanım tespiti için verilerin işlenmesini engelleyen iç ilkeler veya geçerli yasal düzenlemeler varsa, kötüye kullanım izleme ve insan incelemesinin muaf tutulmasını isteyebilirsiniz.

Güvenilirlik

Temel App Service web uygulaması mimarisi, önemli bölgesel hizmetler için bölgesel yedekliliğe odaklanır. Kullanılabilirlik alanları, bir bölge içinde fiziksel olarak ayrı konumlardır. Bir bölgede iki veya daha fazla örnek dağıtıldığında hizmetleri desteklemek için yedeklilik sağlar. Bir bölge kapalı kalma süresiyle karşılaştığında, bölge içindeki diğer bölgeler hala etkilenmeyebilir. Mimari ayrıca azure hizmetlerinin yeterince örneğini ve bu hizmetlerin yapılandırmasını kullanılabilirlik alanlarına yaymak için sağlar. Bu kılavuzu gözden geçirmek için lütfen temele bakın.

Bu bölümde, Azure Machine Learning, Azure OpenAI ve Azure AI Search gibi App Service temelinde ele alınmayan bu mimarideki bileşenlerin perspektifinden güvenilirlik ele alınıyor.

Akış dağıtımları için bölgesel yedeklilik

Kurumsal dağıtımlar genellikle en az bölgesel yedeklilik gerektirir. Azure'da bunu başarmak için kaynakların kullanılabilirlik alanlarını desteklemesi ve en azından kaynağın örneklerini dağıtmanız veya örnek denetimi kullanılamadığında platform desteğini etkinleştirmeniz gerekir. Şu anda Azure Machine Learning işlem, kullanılabilirlik alanları için destek sunmamaktadır. Veri merkezi düzeyindeki bir felaketin AML bileşenleri üzerindeki olası etkisini azaltmak için, çağrıları bu kümeler arasında dağıtmak için bir yük dengeleyici dağıtmanın yanı sıra çeşitli bölgelerde kümeler oluşturmak gerekir. Çağrıların yalnızca düzgün çalışan kümelere yönlendirildiğinden emin olmak için sistem durumu denetimlerini kullanabilirsiniz.

İstem akışlarının dağıtılması Azure Machine Learning işlem kümeleriyle sınırlı değildir. Kapsayıcılı uygulama olan yürütülebilir akış, kapsayıcılarla uyumlu herhangi bir Azure hizmetine dağıtılabilir. Bu seçenekler Azure Kubernetes Service (AKS), Azure İşlevleri, Azure Container Apps (ACA) ve Azure Uygulaması Hizmeti gibi hizmetleri içerir. Bu hizmetlerin her biri kullanılabilirlik alanlarını destekler. Çok bölgeli dağıtımın karmaşıklığı olmadan, istem akışı yürütme için bölgesel yedeklilik elde etmek için akışlarınızı bu hizmetlerden birine dağıtmanız gerekir.

Aşağıda, istem akışlarının Azure Uygulaması Hizmetine dağıtıldığı alternatif bir mimari verilmiştir. İş yükü sohbet kullanıcı arabirimi için zaten kullandığından ve iş yüküne yeni bir teknoloji eklemenin avantajlarından yararlanmayacağından App Service bu mimaride kullanılır. AKS deneyimine sahip iş yükü ekipleri, özellikle aks iş yükündeki diğer bileşenler için kullanılıyorsa bu ortamda dağıtım yapmayı göz önünde bulundurmalıdır.

Azure Uygulaması Hizmeti'ne dağıtılmış istem akışıyla OpenAI ile temel uçtan uca sohbet mimarisini gösteren diyagram.

Şekil 4: OpenAI'nin Azure Uygulaması Hizmetleri'ne istem akışları dağıttığı alternatif uçtan uca sohbet mimarisi

Diyagram, bu mimaride dikkat çeken alanlar için numaralandırılır:

  1. Akışlar Hala Azure Machine Learning istem akışında yazılır ve Azure Machine Learning ağ mimarisi değişmez. Akış yazarları özel bir uç nokta üzerinden çalışma alanı yazma deneyimine bağlanmaya devam eder ve yönetilen özel uç noktalar akışları test ederken Azure hizmetlerine bağlanmak için kullanılır.
  2. Bu noktalı çizgi, kapsayıcılı yürütülebilir akışların Azure Container Registry'ye (ACR) gönderildiğini gösterir. Diyagramda, akışları kapsayıcıya alan ve ACR'ye gönderen işlem hatları gösterilmez.
  3. Sohbet kullanıcı arabirimini zaten barındıran aynı App Service planına dağıtılmış başka bir Web Uygulaması var. Yeni Web Uygulaması, kullanılabilirlik alanlarına yayılmış en az üç örnekte çalışan aynı App Service planında birlikte bulunan kapsayıcılı istem akışını barındırır. Bu App Service örnekleri, istem akışı kapsayıcı görüntüsü yüklenirken özel bir uç nokta üzerinden ACR'ye bağlanır.
  4. İstem akışı kapsayıcısının akış yürütme için tüm bağımlı hizmetlere bağlanması gerekir. Bu mimaride Azure AI Search ve Azure OpenAI hizmeti olacaktır. Yalnızca AML tarafından yönetilen özel uç nokta alt ağına sunulan PaaS hizmetlerinin artık App Service'ten görüş hattının kurulabilmesi için sanal ağda da kullanıma sunulmaları gerekir.

Azure OpenAI - güvenilirlik

Azure OpenAI şu anda kullanılabilirlik alanlarını desteklemez. Veri merkezi düzeyindeki bir felaketin Azure OpenAI'deki model dağıtımları üzerindeki olası etkisini azaltmak için Azure OpenAI'yi çeşitli bölgelere dağıtmak ve çağrıları bölgeler arasında dağıtmak için bir yük dengeleyici dağıtmak gerekir. Çağrıların yalnızca düzgün çalışan kümelere yönlendirildiğinden emin olmak için sistem durumu denetimlerini kullanabilirsiniz.

Birden çok örneği etkili bir şekilde desteklemek için coğrafi olarak yedekli bir Azure Depolama hesabı gibi hassas ayarlama dosyalarını dışlaştırmanızı öneririz. Bu, bölge başına Azure OpenAI hizmetinde depolanan durumu en aza indirir. Model dağıtımını barındırmak için yine de örnek başına ince ayarlama yapılması gerekir.

Dağıtımlarınızın talebini karşılamak ve dağıtılan modellerinize yönelik çağrıların kısıtlanmasını önlemek için kotanızdan yeterli TPM atadığınızdan emin olmak için Dakika Başına Belirteçler (TPM) ve Dakika Başına İstekler (RPM) açısından gerekli aktarım hızını izlemek önemlidir. Azure API Management (APIM) gibi bir ağ geçidi OpenAI hizmetlerinizin önüne dağıtılabilir ve geçici hatalar ve azaltma durumlarında yeniden denenecek şekilde yapılandırılabilir. APIM, hizmetin kotasını aşarak çağrıyla bunalmasını önlemek için devre kesici olarak da kullanılabilir.

Azure AI Search - güvenilirlik

Kullanılabilirlik alanlarını destekleyen bir bölgede Standart fiyatlandırma katmanı veya üzeri ile Azure AI Search'ü dağıtın ve üç veya daha fazla çoğaltma dağıtın. Çoğaltmalar, kullanılabilirlik alanlarına otomatik olarak eşit olarak yayılır.

Uygun çoğaltma ve bölüm sayısını belirlemek için aşağıdaki kılavuzu göz önünde bulundurun:

  • Azure AI Arama'yı izlemek için kılavuzu izleyin.
  • Dizin tabanlı azaltmayı önlemek için sorgu tabanlı azaltmayı ve bölümleri önlemek için uygun çoğaltma sayısını belirlemek için izleme ölçümlerini ve günlüklerini ve performans analizini kullanın.

Azure Machine Learning - güvenilirlik

Azure Machine Learning yönetilen çevrimiçi uç noktasının arkasındaki işlem kümelerine dağıtım yaparsanız ölçeklendirmeyle ilgili aşağıdaki yönergeleri göz önünde bulundurun:

  • Talebi karşılamak için yeterli kapasitenin kullanılabilir olduğundan emin olmak için çevrimiçi uç noktalarınızı otomatik ölçeklendirmek için yönergeleri izleyin. Ani kullanım nedeniyle kullanım sinyalleri yeterince zamanında sağlanmıyorsa, kullanılabilir durumdaki çok az örneğin güvenilirlik etkisini önlemek için fazla sağlamayı göz önünde bulundurun.
  • CPU yükü gibi dağıtım ölçümlerine ve istek gecikme süresi gibi uç nokta ölçümlerine dayalı ölçeklendirme kuralları oluşturmayı göz önünde bulundurun.
  • Etkin bir üretim dağıtımı için en az üç örnek dağıtılmalıdır.
  • Kullanımdaki örneklere karşı dağıtımlardan kaçının. Bunun yerine yeni bir dağıtıma dağıtın ve dağıtım trafik almaya hazır olduktan sonra trafiği devredin.

Not

Akışınızı Azure Uygulaması Service'e dağıtırsanız temel mimarideki App Service ölçeklenebilirlik kılavuzunun aynısı uygulanır.

Güvenlik

Bu mimari hem ağ hem de kimlik güvenlik çevresi uygular. Ağ açısından bakıldığında, İnternet'ten erişilebilir olması gereken tek şey App Gateway üzerinden sohbet kullanıcı arabirimidir. Kimlik açısından bakıldığında sohbet kullanıcı arabiriminin isteklerin kimliğini doğrulaması ve yetkilendirmesi gerekir. Yönetilen kimlikler mümkün olduğunda Azure hizmetlerinde uygulamaların kimliğini doğrulamak için kullanılır.

Ağ güvenliği, ağ bölümünde ele alınmıştı. Bu bölümde kimlik ve erişim yönetimi ile anahtar döndürme ve Azure OpenAI model ince ayarıyla ilgili güvenlik konuları ele alınmaktadır.

Kimlik ve erişim yönetimi

Aşağıdaki kılavuz, App Service temelinde kimlik ve erişim yönetimi kılavuzunu genişletir:

  • Uygun olduğunda aşağıdaki AML kaynakları için ayrı yönetilen kimlikler oluşturun:
    • Çalışma alanı - akış yazma ve yönetim sırasında kullanılır
    • İşlem örneği - akışları test ederken kullanılır
    • Çevrimiçi uç nokta - yönetilen bir çevrimiçi uç noktaya dağıtılırsa dağıtılan akış tarafından kullanılır
  • Microsoft Entra Id kullanarak sohbet kullanıcı arabirimi için kimlik erişim denetimleri uygulama

Azure Machine Learning RBAC rolleri

Azure Machine Learning çalışma alanınıza erişimi yönetmek için kullanabileceğiniz beş varsayılan rol vardır: AzureML Veri Bilimci, AzureML İşlem Operatörü, Okuyucu, Katkıda Bulunan ve Sahip. Bu varsayılan rollerle birlikte, çalışma alanı gizli dizileri ve kayıt defteri gibi çalışma alanı kaynaklarına erişim izni veren bir AzureML Çalışma Alanı Bağlan ion Gizli Dizi Okuyucusu ve AzureML Kayıt Defteri Kullanıcısı vardır.

Bu mimari, yalnızca gerekli oldukları yukarıdaki kimliklere roller atayarak en az ayrıcalık ilkesini izler. Rol atamaları aşağıdadır.

Yönetilen kimlik Kapsam Rol atamaları
Çalışma alanı yönetilen kimliği Kaynak grubu Katılımcı
Çalışma alanı yönetilen kimliği Çalışma Alanı Depolama Hesabı Depolama Blobu Veri Katılımcısı
Çalışma alanı yönetilen kimliği Çalışma Alanı Depolama Hesabı Depolama Dosya Verileri Ayrıcalıklı Katkıda Bulunanı
Çalışma alanı yönetilen kimliği Çalışma Alanı Anahtar Kasası Key Vault Yönetici istrator
Çalışma alanı yönetilen kimliği Çalışma Alanı Kapsayıcı Kayıt Defteri ACRPush
Çevrimiçi uç nokta yönetilen kimliği Çalışma Alanı Kapsayıcı Kayıt Defteri AcrPull
Çevrimiçi uç nokta yönetilen kimliği Çalışma Alanı Depolama Hesabı Depolama Blob Verileri Okuyucusu
Çevrimiçi uç nokta yönetilen kimliği Machine Learning çalışma alanı AzureML Çalışma Alanı Bağlan Ion Gizli Dizi okuyucusu
İşlem örneği yönetilen kimliği Çalışma Alanı Kapsayıcı Kayıt Defteri ACRPull
İşlem örneği yönetilen kimliği Çalışma Alanı Depolama Hesabı Depolama Blob Verileri Okuyucusu

Anahtar döndürme

Bu mimaride anahtar tabanlı kimlik doğrulaması kullanan iki hizmet vardır: Azure OpenAI ve Azure Machine Learning tarafından yönetilen çevrimiçi uç nokta. Bu hizmetler için anahtar tabanlı kimlik doğrulaması kullandığınızdan, şunları yapmak önemlidir:

  • Yetkili istemcilerden isteğe bağlı erişim için anahtarı Azure Key Vault gibi güvenli bir depoda depolayın (istem akışı kapsayıcısını barındıran Azure Web App gibi).
  • Anahtar döndürme stratejisi uygulama. Anahtarları el ile döndürürseniz bir anahtar süre sonu ilkesi oluşturmanız ve anahtarın döndürülmüş olup olmadığını izlemek için Azure ilkesini kullanmanız gerekir.

OpenAI model ince ayarı

Uygulamanızda OpenAI modellerinde ince ayarlamalar yaparsanız aşağıdaki yönergeleri göz önünde bulundurun:

  • Hassas ayarlamalar için eğitim verilerini karşıya yüklüyorsanız, bu verileri şifrelemek için müşteri tarafından yönetilen anahtarları kullanmayı göz önünde bulundurun.
  • Eğitim verilerini Azure Blob Depolama gibi bir depoda depoluyorsanız, veri şifrelemesi için müşteri tarafından yönetilen anahtar kullanmayı, verilere erişimi denetlemek için yönetilen kimlik ve verilere bağlanmak için özel bir uç nokta kullanmayı göz önünde bulundurun.

Performans verimliliği

Performans verimliliği, kullanıcılar tarafından anlamlı bir şekilde yerleştirilen talepleri karşılamak amacıyla iş yükünüzü ölçeklendirme becerisidir. Daha fazla bilgi için bkz . Performans verimliliği sütununa genel bakış.

Bu bölümde Azure Search, Azure OpenAI ve Azure Machine Learning açısından performans verimliliği ele alınmaktadır.

Azure Search - performans verimliliği

Azure AI Search'teki performansı analiz etmek için kılavuzu izleyin.

Azure OpenAI - performans verimliliği

  • Uygulamanızın sağlanan aktarım hızını mı gerektirdiğini yoksa paylaşılan barındırma (tüketim) modelini mi kullanacağını belirleyin. Sağlanan aktarım hızı, OpenAI model dağıtımlarınız için ayrılmış işleme kapasitesi sunar ve modelleriniz için tahmin edilebilir performans ve aktarım hızı sağlar. Bu faturalama modeli, en iyi çabayı gösteren ve gürültülü komşuya veya platformdaki diğer stresörlere tabi olabilecek paylaşılan barındırma (tüketim) modelinden farklı bir modeldir.
  • Sağlanan aktarım hızı için, sağlanan yönetilen kullanımı izlemeniz gerekir

Azure Machine Learning - performans verimliliği

Azure Machine Learning çevrimiçi uç noktalarına dağıtıyorsanız:

  • Özellikle düşük kullanım dönemlerinde aşırı fazla sağlama olmadan taleple yakından uyumlu kalmak için çevrimiçi uç noktayı otomatik ölçeklendirme yönergelerini izleyin.
  • Performans hedeflerinizi karşılamak için çevrimiçi uç nokta için uygun sanal makine SKU'sunu seçin. En iyi yapılandırmayı bulmak için hem daha düşük örnek sayısının hem de daha büyük SKU'ların ve daha büyük örnek sayısının ve daha küçük SKU'ların performansını test etmek istiyorsunuz.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz. Maliyet iyileştirme sütununa genel bakış.

Bu senaryoya yönelik fiyatlandırma örneğini görmek için Azure fiyatlandırma hesaplayıcısını kullanın. Bu örnek yalnızca mimariye dahil edilen bileşenleri içerdiğinden, örneği kullanımınızla eşleşecek şekilde özelleştirmeniz gerekir. Senaryodaki en pahalı bileşenler sohbet kullanıcı arabirimi & istem akışı işlem ve Azure AI Search'lerdir, bu nedenle en yüksek maliyetten tasarruf etmek için bu kaynakların çevresinde iyileştirmeye bakın.

İşlem

Azure Machine Learning istem akışı yürütülebilir akışları barındırmak için birden çok seçeneği destekler. Seçenekler arasında Azure Machine Learning, Azure Kubernetes Service, Azure Uygulaması Hizmeti ve Azure Container Service'teki yönetilen çevrimiçi uç noktalar bulunur. Bu seçeneklerin her birinin kendi faturalama modeli vardır. İşlem seçimi çözümün genel maliyetini etkiler.

Azure OpenAI

Azure OpenAI tüketim tabanlı bir hizmettir ve her tüketim tabanlı hizmette olduğu gibi, arza karşı talebi denetlemek birincil maliyet denetimidir. Bunu Azure OpenAI hizmetinde yapmak için özellikle yaklaşımların bir bileşimini kullanmanız gerekir:

  • İstemcileri denetleme. İstemci isteklerinin denetlenmesi kritik öneme sahip olduğundan, tüketim modelindeki birincil maliyet kaynağı istemci istekleridir. Tüm istemciler:
    • Onaylanmalıdır. Hizmeti herkes için ücretsiz erişimi destekleyecek şekilde kullanıma açmaktan kaçının. Erişimi hem ağ hem de kimlik denetimleri (anahtar veya RBAC) aracılığıyla sınırlayın.
    • Kendi kendini kontrol altına alın. İstemcilerin MAX_TOKENS ve max_completions gibi API çağrıları tarafından sunulan belirteç sınırlama kısıtlamalarını kullanmasını zorunlu kılar.
    • Pratik olduğu durumlarda toplu işlem kullanın. İstemcileri gözden geçirerek istemleri düzgün bir şekilde toplu olarak çalıştırdığından emin olun.
    • İstem girişini ve yanıt uzunluğunu iyileştirin. Daha uzun istemler daha fazla belirteç tüketerek maliyeti yükseltir, ancak yeterli bağlamı olmayan istemler modellerin iyi sonuçlar vermesine yardımcı olmaz. Modelin yararlı bir yanıt oluşturmasına izin vermek için yeterli bağlam sağlayan kısa istemler oluşturun. Benzer şekilde, yanıt uzunluğu sınırını iyileştirdiğinizden emin olun.
  • Azure OpenAI oyun alanı kullanımı gerekli ve üretim öncesi örneklerde olmalıdır, bu nedenle bu etkinlikler üretim maliyetlerine neden olmaz.
  • Doğru yapay zeka modelini seçin. Model seçimi, Azure OpenAI'nin genel maliyetinde de büyük bir rol oynar. Tüm modellerin güçlü ve zayıf yönleri vardır ve ayrı ayrı fiyatlendirilir. Kullanım örneği için doğru modelin kullanılması, daha düşük maliyetli bir model kabul edilebilir sonuçlara neden olduğunda daha pahalı bir modelde fazla harcama yapmadığınızdan emin olabilirsiniz. Bu sohbet başvurusu uygulamasında GPT 3.5-turbo, gpt-4 üzerinden model dağıtım maliyetlerinin yaklaşık bir sırası kadar tasarruf etmek ve yeterli sonuçlar elde etmek için seçildi.
  • Faturalama kesme noktalarını anlama - Saat başına ince ayar ücretlendirilir. En verimli olmak için, bir sonraki faturalama dönemine geçmekten kaçınarak ince ayarlama sonuçlarını iyileştirmek için saat başına bu sürenin çoğunu kullanmak istersiniz. Benzer şekilde, görüntü oluşturma işleminden 100 görüntünün maliyeti, 1 görüntünün maliyetiyle aynıdır. Fiyat kesme noktalarını avantajınıza göre en üst düzeye çıkarın.
  • Faturalama modellerini anlama - Azure OpenAI, sağlanan aktarım hızı teklifi aracılığıyla taahhüt tabanlı bir faturalama modelinde de kullanılabilir. Tahmin edilebilir kullanım desenlerine sahip olduktan sonra, kullanım hacminizde daha uygun maliyetli olacak şekilde hesaplıyorsa bu önceden satın alma faturalama modeline geçmeyi değerlendirin.
  • Sağlama sınırlarını ayarlama - Tüm sağlama kotasının yalnızca iş yükünün parçası olması beklenen modellere model temelinde ayrıldığından emin olun. Dinamik kota etkinken, zaten dağıtılmış modellere aktarım hızı bu sağlanan kotayla sınırlı değildir. Kotanın maliyetlerle doğrudan eşlenmediğini ve maliyetin değişebileceğini unutmayın.
  • Kullandıkça öde kullanımını izleme - Kullandıkça öde kullanıyorsanız Dakika Başına Belirteç (TPM) ve Dakika Başına İstek (RPM) kullanımını izleyin. Hangi modellerin kullanılacağı gibi mimari tasarım kararlarını bilgilendirmek ve istem boyutlarını iyileştirmek için bu bilgileri kullanın.
  • Sağlanan aktarım hızı kullanımını izleme - Sağlanan aktarım hızını kullanıyorsanız, satın aldığınız sağlanan aktarım hızını az kullanmadığınızdan emin olmak için sağlanan yönetilen kullanımı izleyin.
  • Maliyet yönetimi - Maliyetleri izlemek, maliyetleri yönetmek için bütçeler ayarlamak ve proje katılımcılarını riskler veya anomaliler hakkında bilgilendirmek için uyarılar oluşturmak için OpenAI ile maliyet yönetimi özelliklerini kullanma yönergelerini izleyin.

Büyük dil modeli işlemleri (LLMOps)

Bu mimari gibi Azure OpenAI tabanlı sohbet çözümleri için dağıtım, Azure DevOps ve GitHub ile istem akışıyla LLMOps'daki yönergeleri izlemelidir. Buna ek olarak, CI/CD ve ağ güvenlikli mimariler için en iyi yöntemleri göz önünde bulundurması gerekir. Aşağıdaki kılavuz, LLMOps önerilerine göre Flow'ların ve ilişkili altyapılarının uygulanmasını ele alır. Bu dağıtım kılavuzu, Temel yüksek oranda kullanılabilir alanlar arası yedekli web uygulaması mimarisinde değişmeyen ön uç uygulama öğelerini içermez.

Geliştirme

Azure Machine Learning istem akışı hem Azure Machine Learning stüdyosu hem de VS Code uzantısı aracılığıyla tarayıcı tabanlı yazma deneyimi sunar. Her iki seçenek de akış kodunu dosya olarak depolar. Azure Machine Learning stüdyosu kullanırken dosyalar bir Azure Depolama Hesabında depolanır. VS Code'da çalışırken, dosyalar yerel dosya sisteminizde depolanır.

İşbirliğine dayalı geliştirme için en iyi yöntemleri izlemek için kaynak dosyaların GitHub gibi bir çevrimiçi kaynak kod deposunda tutulması gerekir. Bu yaklaşım tüm kod değişikliklerinin izlenmesini, akış yazarları arasındaki işbirliğini ve tüm kod değişikliklerini test eden ve doğrulayan dağıtım akışlarıyla tümleştirmeyi kolaylaştırır.

Kurumsal geliştirme için VS Code uzantısını ve geliştirme için istem akışı SDK'sını/CLI'yı kullanmanız gerekir. İstem akışı yazarları VS Code'dan akışlarını derleyip test edebilir ve yerel olarak depolanan dosyaları çevrimiçi kaynak denetim sistemi ve işlem hatları ile tümleştirebilir. Tarayıcı tabanlı deneyim keşif geliştirme için çok uygun olsa da, bazı çalışmalarla kaynak denetim sistemiyle tümleştirilebilir. Akış klasörü paneldeki akış sayfasından Files indirilebilir, sıkıştırması açılabilir ve kaynak denetim sistemine gönderilebilir.

Değerlendirme

Diğer yazılım yapıtlarını test ettiğiniz gibi sohbet uygulamasında kullanılan akışları da test etmelisiniz. LLM çıkışları için tek bir "doğru" yanıt belirtmek ve onaylamanız zordur, ancak yanıtları değerlendirmek için LLM'nin kendisini kullanabilirsiniz. LLM akışlarınızın aşağıdaki otomatik değerlendirmelerini uygulamayı göz önünde bulundurun:

  • Sınıflandırma Doğruluğu: LLM'nin "doğru" veya "yanlış" puan verip vermediğini değerlendirir ve doğruluk notu oluşturmak için sonuçları toplar.
  • Tutarlılık: Modelin tahmin edilen yanıtlarındaki cümlelerin ne kadar iyi yazıldıklarını ve birbirleriyle nasıl uyumlu bir şekilde bağlandıklarını değerlendirir.
  • Akıcılık: Modelin dil bilgisi ve dil doğruluğu için tahmin edilen yanıtını değerlendirir.
  • Bağlama Karşı Dayanak: Modelin tahmin edilen yanıtlarının önceden yapılandırılmış bağlama göre ne kadar iyi olduğunu değerlendirir. LLM'nin yanıtları doğru olsa bile, verilen bağlamda doğrulanamıyorsa, bu tür yanıtlar temellenmez.
  • İlgi: Modelin tahmin edilen yanıtlarının sorulan soruyla ne kadar uyumlu olduğunu değerlendirir.

Otomatik değerlendirmeleri uygularken aşağıdaki yönergeleri göz önünde bulundurun:

  • Değerlendirmelerden puanlar üretin ve bunları önceden tanımlanmış bir başarı eşiğine göre ölçün. İşlem hatlarınızda test geçişi/başarısız olduğunu bildirmek için bu puanları kullanın.
  • Bu testlerden bazıları soruların, bağlamın ve temel gerçeğin önceden yapılandırılmış veri girişlerini gerektirir.
  • Test sonuçlarının güvenilir olduğundan emin olmak için en az 100-150 çiftin önerildiğinden emin olmak için yeterli soru-yanıt çifti ekleyin. Bu soru-cevap çiftleri "altın veri kümeniz" olarak adlandırılır. Veri kümenizin boyutuna ve etki alanına bağlı olarak daha büyük bir popülasyon gerekebilir.
  • Altın veri kümenizdeki verilerden herhangi birini oluşturmak için LLM kullanmaktan kaçının.

Dağıtım Akışı

bir istem akışı için dağıtım akışını gösteren diyagram.

Şekil 5: Akış dağıtımı istemi

  1. İstem mühendisi/veri bilimcisi belirli bir görev veya özellik üzerinde çalıştıkları bir özellik dalı açar. komut istemi mühendisi/veri bilimcisi VS Code için istem akışını kullanarak akış üzerinde yinelenir, değişiklikleri düzenli aralıklarla işler ve bu değişiklikleri özellik dalı için gönderir.

  2. Yerel geliştirme ve deneme tamamlandıktan sonra, istem mühendisi/veri bilimcisi Özellik dalından Ana dala bir çekme isteği açar. Çekme isteği (PR) bir çekme isteği işlem hattını tetikler. Bu işlem hattı şunları içermesi gereken hızlı kalite denetimleri çalıştırır:

    • Deneme akışlarının yürütülmesi
    • Yapılandırılmış birim testlerinin yürütülmesi
    • Kod tabanının derlenmesi
    • Statik kod analizi
  3. İşlem hattı, birleştirmeden önce en az bir ekip üyesinin çekme isteğini el ile onaylamasını gerektiren bir adım içerebilir. Onaylayan, işleyici olamaz ve istek akışı uzmanlığına ve proje gereksinimlerine aşinalığa sahiptir. Çekme isteği onaylanmamışsa birleştirme engellenir. Çekme isteği onaylanırsa veya onay adımı yoksa özellik dalı Ana dal ile birleştirilir.

  4. Main ile birleştirme, Geliştirme ortamı için derleme ve yayın işlemini tetikler. Özellikle:

    a. CI işlem hattı, Main ile birleştirme işleminden tetikleniyor. CI işlem hattı, çekme isteği işlem hattında yapılan tüm adımları ve aşağıdaki adımları gerçekleştirir:

    • Deneme akışı
    • Değerlendirme akışı
    • Değişiklikler algılandığında akışları Azure Machine Learning Kayıt Defteri'ne kaydeder

    b. CI işlem hattı tamamlandıktan sonra CD işlem hattı tetikleniyor. Bu akış aşağıdaki adımları gerçekleştirir:

    • Akışı Azure Machine Learning Kayıt Defteri'nden bir Azure Machine Learning çevrimiçi uç noktasına dağıtır
    • Çevrimiçi uç noktayı hedefleyen tümleştirme testleri çalıştırır
    • Çevrimiçi uç noktayı hedefleyen duman testleri çalıştırır
  5. Onay süreci, sürüm yükseltme işleminde yerleşik olarak bulunur. Onaydan sonra, 4.a. adımlarda açıklanan CI ve CD işlemleri. & 4.b. yinelenir ve Test ortamı hedeflenir. A. ve b. adımları aynıdır, ancak kullanıcı kabul testleri Test ortamındaki duman testlerinin ardından çalıştırılır.

  6. 4.a. adımlarında açıklanan CI ve CD işlemleri. & 4.b. Test ortamı doğrulanıp onaylandıktan sonra sürümü Üretim ortamına yükseltmek için çalıştırılır.

  7. Canlı ortama yayımlandıktan sonra performans ölçümlerini izleme ve dağıtılan LLM'yi değerlendirme işlem görevleri gerçekleşir. Buna şunlar dahildir ancak bunlarla sınırlı değildir:

    • Veri kaymalarını algılama
    • Altyapıyı gözlemleme
    • Maliyetleri yönetme
    • Modelin performansını paydaşlara iletme

Dağıtım Kılavuzu

Azure Machine Learning Uç Noktaları, modelleri üretim ortamına sunarken esneklik sağlayacak şekilde dağıtmanıza olanak tanır. En iyi model performansını ve kalitesini sağlamak için aşağıdaki stratejileri göz önünde bulundurun:

  • Mavi/yeşil dağıtımlar: Bu stratejiyle, tüm trafiği yeni dağıtıma yönlendirmeden önce web hizmetinin yeni sürümünü sınırlı bir kullanıcı veya istek grubuna güvenle dağıtabilirsiniz.
  • A/B Testi: Yalnızca değişiklikleri güvenli bir şekilde dağıtmak için etkili olan Mavi/Yeşil dağıtımlar değildir, aynı zamanda kullanıcıların bir alt kümesinin değişikliğin etkisini değerlendirmesine olanak tanıyan yeni davranışlar dağıtmak için de kullanılabilir.
  • İşlem hatlarınızdaki istem akışının parçası olan Python dosyalarının lintini ekleyin. Linting stil standartları, hatalar, kod karmaşıklığı, kullanılmayan içeri aktarmalar ve değişken adlandırma ile uyumluluğu denetler.
  • Akışınızı ağdan yalıtılmış Azure Machine Learning çalışma alanına dağıtırken, Azure kaynaklarınıza yapıtları dağıtmak için şirket içinde barındırılan bir aracı kullanın.
  • Azure Machine Learning model kayıt defteri yalnızca modelde değişiklikler olduğunda güncelleştirilmelidir.
  • LLM, akışlar ve istemci kullanıcı arabirimi gevşek bir şekilde birleştirilmelidir. Akışlara ve istemci kullanıcı arabirimine Güncelleştirmeler modeli etkilemeden yapılabilir ve yapılabilir.
  • Birden çok akış geliştirirken ve dağıtırken, her akışın kendi yaşam döngüsü olmalıdır ve bu da akışları denemeden üretime yükseltirken gevşek bir şekilde bağlanmış bir deneyim sağlar.

Altyapı

Temel Azure OpenAI uçtan uca sohbet bileşenleri dağıtılırken sağlanan hizmetlerden bazıları mimari içinde temel ve kalıcı olurken, diğer bileşenler doğası gereği daha kısa ömürlü olur ve bunların varlığı bir dağıtıma bağlıdır.

Temel bileşenler

Bu mimarideki bazı bileşenler, tek tek herhangi bir istem akışının veya model dağıtımının ötesine uzanan bir yaşam döngüsüyle mevcuttur. Bu kaynaklar genellikle iş yükü ekibi tarafından temel dağıtımın bir parçası olarak bir kez dağıtılır ve istem akışları veya model dağıtımları için yeni, kaldırılmış veya güncelleştirmeler dışında tutulur.

  • Azure Machine Learning çalışma alanı
  • Azure Machine Learning çalışma alanı için Azure Depolama hesabı
  • Azure Container Registry
  • Azure Yapay Zeka Arama
  • Azure OpenAI
  • Azure Application Insights
  • Azure Bastion
  • Atlama kutusu için Azure Sanal Makinesi

Kısa ömürlü bileşenler

Bazı Azure kaynakları, belirli istem akışlarının tasarımına daha sıkı bir şekilde bağlıdır ve bu kaynakların bileşenin yaşam döngüsüne bağlanmasına ve bu mimaride kısa ömürlü olmasına olanak tanır. İş yükü geliştikçe, akışlar eklendiğinde veya kaldırıldığında ya da yeni modeller sunulduğunda bu durumdan etkilenirler. Bu kaynaklar yeniden oluşturulur ve önceki örnekler kaldırılır. Bu kaynaklardan bazıları doğrudan Azure kaynakları, bazıları ise bu kaynakları içeren hizmet içindeki veri düzlemi belirtileridir.

  • Azure Machine Learning model kayıt defterindeki model, değiştirilirse CD işlem hattının bir parçası olarak güncelleştirilmelidir.
  • Kapsayıcı görüntüsü, CD işlem hattının bir parçası olarak kapsayıcı kayıt defterinde güncelleştirilmelidir.
  • Dağıtım mevcut olmayan bir uç noktaya başvuruda bulunursa bir istem akışı dağıtıldığında bir Azure Machine Learning uç noktası oluşturulur. Genel erişimi kapatmak için bu uç noktanın güncelleştirilmesi gerekir.
  • Azure Machine Learning uç noktasının dağıtımları bir akış dağıtıldığında veya silindiğinde güncelleştirilir.
  • İstemci kullanıcı arabirimi için Key Vault, yeni bir uç nokta oluşturulduğunda uç nokta anahtarıyla güncelleştirilmelidir.

İzleme

Tanılama tüm hizmetler için yapılandırılır. Azure Machine Learning ve Azure Uygulaması Hizmeti dışında tüm hizmetler tüm günlükleri yakalayacak şekilde yapılandırılır. Azure Machine Learning tanılaması, müşteri etkileşimlerini veya hizmetin ayarlarını kaydeden tüm kaynak günlükleri olan denetim günlüklerini yakalayacak şekilde yapılandırılır. Azure Uygulaması Hizmeti AppServiceHTTPLogs, AppServiceConsoleLogs, AppServiceAppLogs ve AppServicePlatformLogs'u yakalayacak şekilde yapılandırılmıştır.

Bu senaryoyu dağıtın

Başvuru uygulamasını dağıtmak ve çalıştırmak için OpenAI uçtan uca temel başvuru uygulamasındaki adımları izleyin.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar

Azure OpenAI hakkında daha fazla bilgi edinin