Düzenle

Aracılığıyla paylaş


Ağ geçidi üzerinden Azure OpenAI'ye ve diğer dil modellerine erişme

Azure AI services
Azure OpenAI Service
Azure API Management

Azure OpenAI Hizmeti , uygulamalarınızın OpenAI'nin dil modellerini kullanarak eklemeler veya tamamlamalar gerçekleştirmesine olanak sağlayan HTTP API'lerini kullanıma sunar. Akıllı uygulamalar bu HTTP API'lerini doğrudan istemcilerden veya düzenleyicilerden çağırır. İstemcilere örnek olarak sohbet kullanıcı arabirimi kodu ve özel veri işleme işlem hatları verilebilir. Düzenleyicilere örnek olarak LangChain, Anlam Çekirdeği ve Azure Machine Learning istem akışı verilebilir. İş yükünüz bir veya daha fazla Azure OpenAI örneğine bağlandığında, bu tüketicilerin doğrudan mı yoksa ters proxy API ağ geçidi üzerinden mi bağlandığına karar vermeniz gerekir.

İş yükü tasarımınız tüketicilerinizden Azure OpenAI veri düzlemi API'lerine doğrudan erişim içeriyorsa, Azure İyi Tasarlanmış Çerçeve'nin beş ayağında karşılaştığınız temel zorluklar hakkında bilgi edinmek için bu kılavuzu kullanın. Ardından mimarinize bir ağ geçidi eklemenin bu doğrudan erişim zorluklarını çözmeye ve yeni zorluklara neden olmasına nasıl yardımcı olabileceğini öğrenin. Bu makalede mimari desen açıklanır ancak ağ geçidinin nasıl uygulandığı açıklanmaz.

Bir ağ geçidi her iş yükünde mevcut olmayabilecek belirli senaryoları çözmek için kullanılabildiğinden, ağ geçidinin söz konusu kullanım örneğine daha ayrıntılı bir şekilde bakan Belirli senaryo kılavuzuna bakın.

Önemli zorluklar

API ağ geçidi veya Azure OpenAI HTTP API'lerine mantık ekleme özelliği olmadan, istemcinin yeniden deneme mekanizmaları veya devre kesiciler içeren API istemci mantığını işlemesi gerekir. Bu durum, istemci kodunu doğrudan denetlemediğiniz veya kodun belirli SDK kullanımıyla sınırlı olduğu senaryolarda zor olabilir. Birden çok istemci veya birden çok Azure OpenAI örneği ve dağıtımı, güvenli dağıtımların koordinasyonu ve gözlemlenebilirlik gibi başka zorluklar da sunar.

Bu bölümde, mimariniz yalnızca tüketicilerden Azure OpenAI'ye doğrudan erişimi destekliyorsa karşılaşabileceğiniz belirli temel mimari güçlüklere örnekler sağlanır. Güçlükler, Azure İyi Tasarlanmış Çerçeve sütunları kullanılarak düzenlenir.

Güvenilirlik zorlukları

İş yükünün güvenilirliği, genellikle çoğaltma ve yük devretme mekanizmaları aracılığıyla uygulanan kendini koruma ve kendini kurtarma kapasitesi dahil olmak üzere çeşitli faktörlere bağlıdır. Ağ geçidi olmadan tüm güvenilirlik sorunları yalnızca istemci mantığı ve Azure OpenAI Hizmeti özellikleri kullanılarak ele alınmalıdır. Bu iki yüzeyden birinde yeterli güvenilirlik denetimi olmadığında iş yükü güvenilirliği tehlikeye girer.

  • Yedeklilik: Hizmet kullanılabilirliğine bağlı olarak birden çok Azure OpenAI örneği arasında yük devretme yapmak, yapılandırma ve özel mantık aracılığıyla denetlemeniz gereken bir istemci sorumluluğudur.

  • Ani artışları işlemek için ölçeği genişletme: Azaltıldığında kapasiteyle Azure OpenAI örneklerine yük devretmek, yapılandırma ve özel mantık aracılığıyla denetlemeniz gereken bir diğer istemci sorumluluğudur. Yeni Azure OpenAI örnekleri için birden çok istemci yapılandırmasının güncelleştirilmesi daha fazla risk oluşturur ve zaman konusunda endişeleri vardır. Aynı durum, yüksek talep dönemlerinde düşük öncelikli istekleri kuyruğa yönlendirme gibi mantık değişiklikleri uygulamak üzere istemci kodunu güncelleştirmek için de geçerlidir.

  • Yük dengeleme veya azaltma: Azure OpenAI API'leri, kullandıkça öde modelinde Dakika Başına Belirteç (TPM) veya Dakika Başına İstek (RPM) değerini aşan isteklere HTTP 429 hata yanıt kodu döndürerek istekleri kısıtlar. Azure OpenAI API'leri, önceden sağlanan faturalama modeli için sağlanan aktarım hızı birimleri (PTU) kapasitesini aşan istekleri de kısıtlar. Uygun geri alma ve yeniden deneme mantığının işlenmesi yalnızca istemci uygulamalarına bırakılır.

Güvenlik zorlukları

Güvenlik denetimleri iş yükü gizliliğini, bütünlüğünü ve kullanılabilirliğini korumaya yardımcı olmalıdır. Ağ geçidi olmadan tüm güvenlik sorunları yalnızca istemci mantığı ve Azure OpenAI Hizmeti özelliklerinde ele alınmalıdır. İş yükü gereksinimleri, doğrudan iletişim için istemci segmentasyonu, istemci denetimi veya hizmet güvenliği özellikleri için sağlanandan daha fazlasını gerektirebilir.

  • Kimlik yönetimi - kimlik doğrulama kapsamı: Azure OpenAI tarafından kullanıma sunulan veri düzlemi API'lerinin güvenliği iki yoldan biriyle sağlanabilir: API anahtarı veya Azure rol tabanlı erişim denetimi (RBAC). Her iki durumda da kimlik doğrulaması, belirli dağıtım modelleri için en az ayrıcalıklı erişim ve kimlik segmentasyonu sağlamaya yönelik karmaşıklığı ortaya çıkaran tek dağıtım düzeyinde değil Azure OpenAI örneği düzeyinde gerçekleşir.

  • Kimlik yönetimi - kimlik sağlayıcıları: Azure OpenAI örneğini destekleyen Microsoft Entra kiracısında bulunan kimlikleri kullanemeyen istemcilerin tek bir tam erişim API anahtarı paylaşması gerekir. API anahtarlarının güvenlik yararlılığı sınırlamaları vardır ve birden çok istemci dahil olduğunda ve hepsi aynı kimliği paylaştığında sorunlu olur.

  • Ağ güvenliği: Azure OpenAI örneklerinize göre istemci konumuna bağlı olarak, dil modellerine genel İnternet erişimi gerekebilir.

  • Veri hakimiyeti: Azure OpenAI bağlamında veri hakimiyeti, belirli bir ülke veya bölgenin coğrafi sınırları içinde verilerin depolanması ve işlenmesiyle ilgili yasal ve mevzuat gereksinimlerini ifade eder. İş yükünüzün, istemcilerin veri yerleşimi ve egemenlik yasalarına uyabilmesi için bölgesel benziteyi sağlaması gerekir. Bu işlem birden çok Azure OpenAI dağıtımı içerir.

Maliyet iyileştirme zorlukları

mimariler atıkları en aza indirdiğinde ve en üst düzeye çıkarıldığında iş yükleri avantajlı olur. Güçlü maliyet modelleme ve izleme, tüm iş yükleri için önemli bir gereksinimdir. Ağ geçidi olmadan, PTU veya istemci başına maliyet izleme kullanımı yalnızca Azure OpenAI örneği kullanım telemetrisinin toplanmasından yetkili olarak elde edilebilir.

  • Maliyet izleme: Azure OpenAI kullanımına finansal bir bakış açısı sağlayabilmek, Azure OpenAI örneği kullanım telemetrisinden toplanan veriyle sınırlıdır. Geri ödeme veya geri ödeme yapmak için gerektiğinde, bu kullanım telemetrisini farklı departmanlardaki çeşitli istemcilerle ve hatta çok kiracılı senaryolar için müşterilerle bağlamanız gerekir.

  • Sağlanan aktarım hızı kullanımı: İş yükünüz, ödediğiniz sağlanan aktarım hızını tam olarak kullanarak israfı önlemek istiyor. Bu, istemcilerin tüketim tabanlı model dağıtımlarına yayılmadan önce PTU tabanlı model dağıtımlarını kullanacak şekilde güvenilir ve eşgüdümlü olması gerektiği anlamına gelir.

Operasyonel mükemmellik zorlukları

Ağ geçidi olmadan gözlemlenebilirlik, değişiklik denetimi ve geliştirme işlemleri doğrudan istemciden sunucuya iletişim tarafından sağlananlarla sınırlıdır.

  • Kota denetimi: HTTP API'leri kısıtlandığında istemciler doğrudan Azure OpenAI'den 429 yanıt kodu alır. İş yükü operatörleri, meşru kullanım için yeterli kotanın kullanılabilir olduğundan ve hatalı davranan istemcilerin fazla kullanmamasını sağlamakla sorumludur. İş yükünüz birden çok model dağıtımından oluştuğunda kota kullanımını ve kota kullanılabilirliğini anlamak zor olabilir.

  • İzleme ve gözlemlenebilirlik: Azure OpenAI varsayılan ölçümleri Azure İzleyici aracılığıyla kullanılabilir. Ancak, verilerin kullanılabilirliğiyle ilgili gecikme süresi vardır ve gerçek zamanlı izleme sağlamaz.

  • Güvenli dağıtım uygulamaları: GenAIOps işleminiz, istemcilerle Azure OpenAI'de dağıtılan modeller arasında koordinasyon gerektirir. Mavi-yeşil veya kanarya gibi gelişmiş dağıtım yaklaşımları için mantığın istemci tarafında işlenmesi gerekir.

Performans verimliliği zorlukları

Ağ geçidi olmadan, iş yükünüz istemcilerin tek tek iyi davranması ve sınırlı kapasiteye karşı diğer istemcilerle adil davranması için sorumluluk alır.

  • Performans iyileştirme - öncelikli trafik: Yüksek öncelikli istemcilerin düşük öncelikli istemcilere göre tercihli erişime sahip olması için istemci isteklerine öncelik vermek kapsamlı ve büyük olasılıkla makul olmayan istemciden istemciye koordinasyon gerektirir. Bazı iş yükleri, model kullanımı düşük olduğunda çalıştırılacak düşük öncelikli isteklerin kuyruğa alınabilmesinden yararlanabilir.

  • Performans iyileştirme - istemci uyumluluğu: Kapasiteyi paylaşmak için istemcilerin iyi davranması gerekir. Bunun bir örneği, istemcilerin ve best_of onaylanan değerlere ayarlandığından max_tokens emin olmasıdır. Ağ geçidi olmadan, Azure OpenAI örneğinizin kapasitesini korumak için istemcilere güvenmeniz gerekir.

  • Gecikme süresini en aza indirme: Ağ gecikmesi genellikle genel istem ve tamamlama isteği akışının küçük bir bileşeni olsa da, istemcilerin bir ağ uç noktasına yönlendirildiğinden ve bunlara yakın bir modele yönlendirildiğinden emin olmak yararlı olabilir. Ağ geçidi olmadan istemcilerin kullanılacak model dağıtım uç noktalarını ve bu belirli Azure OpenAI veri düzlemi API'si için hangi kimlik bilgilerinin gerekli olduğunu kendi kendine seçmesi gerekir.

Çözüm

Akıllı bir uygulama ile Azure OpenAI arasına ağ geçidi eklemeye yönelik kavramsal mimariyi gösteren diyagram.

Şekil 1: Azure OpenAI'ye ağ geçidi üzerinden erişmenin kavramsal mimarisi

Önemli zorluklar bölümünde listelenen birçok zorluğu gidermek için, akıllı uygulamayı Azure OpenAI'den ayırmaya yönelik bir ters ara sunucu ağ geçidi ekleyebilirsiniz. Bu ağ geçidi boşaltma özelliği , sorumluluğu, karmaşıklığı ve gözlemlenebilirliği istemcilerden uzaklaştırmanıza olanak tanır ve yerleşik olmayan diğer özellikleri sağlayarak Azure OpenAI'yi geliştirme fırsatı sunar. Aşağıda bazı örnekler bulunmaktadır:

Bazı belirli senaryolarda api ağ geçidini ve Azure OpenAI örneklerini doğrudan ele alan daha fazla kılavuz vardır. Bu senaryolar Sonraki adımlar bölümünde listelenmiştir.

Dikkat edilmesi gereken noktalar

Mimarinize yeni bir bileşen eklediğinizde, yeni sunulan avantajları değerlendirmeniz gerekir. İstemcilerinizle Azure OpenAI veri düzlemi arasına önemli zorluklardan herhangi birini ele almak için bir API ağ geçidi eklediğinizde, mimarinizle ilgili dikkat edilmesi gereken yeni noktalar ortaya konur. İş yükünün bu mimari konular üzerindeki etkisinin, ağ geçidinin katma değerini veya yardımcı programını haklı yapıp yapmadığını dikkatle değerlendirin.

Güvenilirlik

Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılamasını sağlar. Daha fazla bilgi için bkz . Güvenilirlik için tasarım gözden geçirme denetim listesi.

  • Ağ geçidi çözümü tek bir hata noktasına neden olabilir. Bu hatanın kaynağı ağ geçidi platformunun hizmet kullanılabilirliği, kod veya yapılandırma dağıtımlarından kaynaklanan kesintiler, hatta ağ geçidinizde yanlış yapılandırılmış kritik API uç noktaları olabilir. Uygulamanızı iş yükünüzün kullanılabilirlik gereksinimlerini karşılayacak şekilde tasarladığınızdan emin olun. Ağ geçidini iş yükünün hata modu analizine ekleyerek uygulamada dayanıklılık ve hataya dayanıklılık özelliklerini göz önünde bulundurun.

  • Mimariniz birden çok bölgede Azure OpenAI örnekleri gerektiriyorsa çözümünüz genel yönlendirme özellikleri gerektirebilir. Bu durum fazladan tam etki alanı adlarının, TLS sertifikalarının ve daha fazla genel yönlendirme bileşeninin yönetimi yoluyla topolojiyi daha da karmaşık hale gelebilir.

Önemli

Bunu yapmak, iş yükünüzün üzerinde anlaşmaya varılan hizmet düzeyi hedeflerini (SLO) karşılama becerisini tehlikeye atacaksa ağ geçidi uygulamayın.

Güvenlik

Bir API ağ geçidinin mimarinize nasıl fayda sağladığını düşünürken tasarımınızı değerlendirmek için Güvenlik için Tasarım gözden geçirme denetim listesini kullanın. Aşağıdakiler gibi güvenlik konularını ele almanız gerekir:

  • Ağ geçidinin eklenmesiyle iş yükünün yüzey alanı artırılır. Bu yüzey alanı, Azure kaynaklarıyla ilgili ek kimlik ve erişim yönetimi (IAM) konuları, daha fazla sağlamlaştırma çalışması ve daha fazlasını getirir.

  • Ağ geçidi, istemci ağ alanı ile özel Azure OpenAI ağ alanı arasında bir ağ sınırı geçişi olarak görev yapabilir. Ağ geçidi, daha önce İnternet'e yönelik bir Azure OpenAI uç noktasını Azure Özel Bağlantı kullanarak özel hale getirse de, artık yeni giriş noktası haline gelir ve yeterince güvenli hale getirilmesi gerekir.

  • Ağ geçidi, ham istek verilerini ve dil modelinden formüle edilmiş yanıtları görmek için benzersiz bir konumdadır ve her iki kaynaktan da gizli veriler içerebilir. Veri uyumluluğu ve mevzuat kapsamı artık bu diğer bileşene genişletildi.

  • Bir ağ geçidi, istemci yetkilendirme ve kimlik doğrulaması kapsamını Microsoft Entra Kimliği ve API anahtarı kimlik doğrulamasının ötesine ve potansiyel olarak birden çok kimlik sağlayıcısı (IdP) arasında genişletebilir.

  • Veri hakimiyeti, çok bölgeli uygulamalarda uygulamanızda dikkate alınmalıdır. Ağ geçidi işlem ve yönlendirme mantığınızın iş yükünüz üzerinde yer alan egemenlik gereksinimlerine uyduğundan emin olun.

Önemli

Bunu yaptığınızda iş yükünüzün kendi veya kullanıcı verilerinin gizliliğini, bütünlüğünü veya kullanılabilirliğini koruyamaması durumunda ağ geçidi uygulamayın.

Maliyet İyileştirmesi

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet İyileştirme için tasarım gözden geçirme denetim listesi.

Uygulanan tüm API ağ geçitlerinin bütçesi ve hesaba geçirilmesi gereken çalışma zamanı maliyetleri vardır. Bu maliyetler genellikle ağ geçidinin güvenilirliğini, güvenliğini ve performansını ele alan ek özelliklerle birlikte ek APIOps yönetimi ile sunulan operasyonel maliyetlerle birlikte artar. Bu eklenen maliyetlerin, ağ geçidi ile sistemden teslim edilen yeni değerle ölçülmüş olması gerekir. Ağ geçidi kullanılarak sunulan yeni özelliklerin, ağ geçidini uygulama ve sürdürme maliyetinden daha ağır bastığı bir noktaya ulaşmak istiyorsunuz. İş yükünüzün kullanıcıları ile ilişkisine bağlı olarak, kullanımı geri ödemeniz mümkün olabilir.

Operasyonel Mükemmellik

Bir API ağ geçidinin mimarinize nasıl fayda sağladığını düşünürken tasarımınızı değerlendirmek için Operasyonel Mükemmellik için Tasarım gözden geçirme denetim listesini kullanın. Aşağıdakiler gibi operasyonel mükemmellik konularını ele almanız gerekir:

  • Ağ geçidinin iş yükünüzün izleme çözümü tarafından ve potansiyel olarak istemciler tarafından izlenmesi gerekir. Bu, ağ geçidi işlem ve işlemlerinin iş yükünün sistem durumu modellemesine dahil edilmesi gerektiği anlamına gelir.

  • Güvenli dağıtım uygulamalarınız artık API ağ geçidi altyapısının dağıtımını ve ağ geçidi yönlendirme kodunu veya yapılandırmasını ele amalıdır. Altyapı otomasyonunuzun ve kod olarak altyapı (IaC) çözümünüzün ağ geçidinize iş yükünde uzun ömürlü bir kaynak olarak nasıl davranılması gerektiğini göz önünde bulundurması gerekir.

  • Ağ geçidinde kullanıma sunulan API'leri kapsayacak şekilde APIOps yaklaşımınızı derlemeniz veya genişletmeniz gerekir.

Performans Verimliliği

Bir API ağ geçidinin mimarinize nasıl fayda sağladığını düşünürken, tasarımınızı değerlendirmek için Performans Verimliliği için Tasarım gözden geçirme denetim listesini kullanın. Aşağıdakiler gibi performans verimliliğiyle ilgili dikkat edilmesi gereken noktaları ele almanız gerekir:

  • Ağ geçidi hizmeti bir aktarım hızı performans sorununa neden olabilir. Ağ geçidinin tam eşzamanlı yükü işlemek için yeterli performansa sahip olduğundan ve büyüme beklentilerinize uygun olarak kolayca ölçeklendirilebileceğinden emin olun. İş günü kullanımı gibi talep düşük olduğunda ağ geçidinin arzı azaltabilmesi veya ölçeği azaltabilmesi için çözümde esneklik sağlayın.

  • Ağ geçidi hizmeti, istek başına gerçekleştirmesi gereken işlemeye sahiptir ve API çağrısı başına ek gecikme süresi getirir. İsteklerin iyi performans göstermesini sağlamak için yönlendirme mantığınızı iyileştirmeniz gerekir.

  • Çoğu durumda gecikme süresini azaltmak için ağ geçidinin hem kullanıcılara hem de Azure OpenAI örneklerine coğrafi olarak yakın olması gerekir. Ağ gecikmesi genellikle dil modellerine yapılan genel API çağrılarında küçük bir zaman yüzdesi olsa da, iş yükünüz için rekabetçi bir faktör olabilir.

  • Ağ geçidinin Akış yanıtları veya Yardımcılar API'si gibi durum bilgisi olan etkileşimler için örnek sabitleme gibi Azure OpenAI özellikleri üzerindeki etkisini değerlendirin.

Önemli

Bunu yapmak, müzakere edilen performans hedeflerine ulaşmayı imkansız hale getiriyorsa veya diğer dengelerden çok ödün veriyorsa ağ geçidi uygulamayın.

Uygulama seçenekleri

Azure, Azure OpenAI'nin HTTP API'sine veya diğer özel dil modeli çıkarım API'lerine ara sunuculuk yapmak için özel olarak tasarlanmış anahtar teslimi bir çözüm sunmaz. Ancak iş yükü ekibinizin uygulaması için Azure'daki bir ağ geçidi gibi çeşitli seçenekler vardır.

Azure API Management'ı kullanma

Azure API Management , HTTP tabanlı API'ler için çapraz kesme sorunlarını boşaltmak için tasarlanmış platform tarafından yönetilen bir hizmettir. Yapılandırma temellidir ve gelen ve giden istek işleme ilkesi sistemi aracılığıyla özelleştirmeyi destekler. Tek bir denetim düzlemi kullanarak yüksek oranda kullanılabilir, alanlar arası yedekli ve hatta çok bölgeli çoğaltmaları destekler.

Ağ geçidi yönlendirme ve istek işleme mantığının çoğu API Management ilke sisteminde uygulanmalıdır. Azure OpenAI API belirteci kullanımını sınırlama veya Azure OpenAI belirteçlerinin kullanımı için ölçüm yayma gibi yerleşik ilkeleri ve kendi özel ilkelerinizi birleştirebilirsiniz. Bazı örnek özel ilkeler ve senaryolar API Management ağ geçidi araç seti topluluğu GitHub deposunda bulunabilir.

Azure API Management içeren bir çözüm tasarlarken API Management için İyi Tasarlanmış Çerçeve hizmet kılavuzunu kullanın.

Ağ geçidi uygulamanız için Azure API Management'ı kullanmak genellikle Azure OpenAI ağ geçidi oluşturmak ve çalıştırmak için tercih edilen yaklaşımdır. Hizmet, zengin yerleşik özellikler, yüksek kullanılabilirlik ve ağ seçeneklerine sahip bir hizmet olarak platform (PaaS) teklifi olduğundan tercih edilir. Ayrıca tamamlama API'lerinizi yönetmeye yönelik güçlü APIOps yaklaşımları da vardır.

Özel kod kullanma

Özel kod yaklaşımı, yazılım geliştirme ekibinin özel kodlanmış bir çözüm oluşturmasını ve bu çözümü tercih ettikleri bir Azure uygulama platformuna dağıtmasını gerektirir. Ağ geçidi mantığını işlemek için kendi kendine yönetilen bir çözüm oluşturmak, ağ ve yönlendirme kodunu yönetme konusunda uzman iş yükü ekipleri için uygun olabilir.

İş yükü genellikle Azure Uygulaması Hizmeti, Azure Container Apps veya Azure Kubernetes Service'te ağ geçidi kodunu barındırma gibi tanıdıkları işlemi kullanabilir.

Özel kod dağıtımları, API Management yalnızca istemcileriniz ile özel kodunuz arasındaki temel HTTP API ağ geçidi özellikleri için kullanıldığında API Management ile önlenebilir. Bu şekilde, özel kod arabirimleriniz yalnızca gerekli iş mantığına göre Azure OpenAI HTTP API'lerinizle arabirim oluşturur.

Azure tarafından yerel olarak sağlanmayan bir ürün veya hizmet olan Microsoft dışı ağ geçidi teknolojisinin kullanımı bu yaklaşımın bir parçası olarak değerlendirilebilir.

Örnek mimari

Akıllı bir uygulama ile Azure OpenAI arasına ağ geçidi eklemeye yönelik örnek mimariyi gösteren diyagram.

Şekil 2: Azure API Management tabanlı bir ağ geçidi aracılığıyla Azure OpenAI'ye erişmeye yönelik örnek mimari

Sonraki adımlar

İş yükü gereksinimlerini karşılamak için akıllı bir uygulama ile Azure OpenAI dağıtımları arasında ağ geçidi dağıtmanın kullanıldığı belirli bir senaryo hakkında bilgi edinin:

Azure OpenAI modelleri için günlüğe kaydetme ve izleme uygulama yollarını öğrenin.