CLI ile gerçek zamanlı çıkarım için çevrimiçi uç noktaya akış dağıtma
Bu makalede, Azure Machine Learning v2 CLI ile gerçek zamanlı çıkarımda kullanılmak üzere akışınızı yönetilen bir çevrimiçi uç noktaya veya Kubernetes çevrimiçi uç noktasına dağıtmayı öğreneceksiniz.
Başlamadan önce akışınızı düzgün bir şekilde test ettiğinizden emin olun ve üretime dağıtılmaya hazır olduğundan emin olun. Akışınızı test etme hakkında daha fazla bilgi edinmek için bkz . Akışınızı test etme. Akışınızı test ettikten sonra yönetilen çevrimiçi uç nokta ve dağıtım oluşturmayı ve gerçek zamanlı çıkarım için uç noktayı kullanmayı öğreneceksiniz.
- Bu makalede CLI deneyiminin nasıl kullanılacağı ele alınacaktır.
- Python SDK'sı bu makalede ele alınmıyor. Bunun yerine GitHub örnek not defterine bakın. Python SDK'sını kullanmak için Azure Machine Learning için Python SDK v2'ye sahip olmanız gerekir. Daha fazla bilgi edinmek için bkz . Azure Machine Learning için Python SDK v2'yi yükleme.
Önemli
Bu makalede işaretlenen (önizleme) öğeler şu anda genel önizleme aşamasındadır. Önizleme sürümü bir hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.
Önkoşullar
- Azure CLI ve Azure Machine Learning'in Azure CLI uzantısı. Daha fazla bilgi için bkz . CLI'yi (v2) yükleme, ayarlama ve kullanma.
- Azure Machine Learning çalışma alanı. Yoksa, oluşturmak için Hızlı Başlangıç: Çalışma alanı kaynakları oluşturma makalesindeki adımları kullanın.
- Azure Machine Learning’deki işlemlere erişim vermek için Azure rol tabanlı erişim denetimleri (Azure RBAC) kullanılır. Bu makaledeki adımları gerçekleştirmek için kullanıcı hesabınıza Azure Machine Learning çalışma alanı için sahip veya katkıda bulunan rolü ya da "Microsoft.MachineLearningServices/workspaces/onlineEndpoints/" izin veren özel bir rol atanmalıdır. Çevrimiçi uç noktaları/dağıtımları oluşturmak/yönetmek için Studio kullanıyorsanız, kaynak grubu sahibinden ek bir "Microsoft.Resources/deployments/write" iznine sahip olmanız gerekir. Daha fazla bilgi için bkz . Azure Machine Learning çalışma alanına erişimi yönetme.
Not
Yönetilen çevrimiçi uç nokta yalnızca yönetilen sanal ağı destekler. Çalışma alanınız özel sanal ağdaysa Kubernetes çevrimiçi uç noktasına dağıtabilir veya Docker gibi diğer platformlara dağıtabilirsiniz.
Dağıtım için sanal makine kotası ayırma
Yönetilen çevrimiçi uç noktalar için Azure Machine Learning, işlem kaynaklarınızın %20'sini yükseltmeleri gerçekleştirmek için ayırır. Bu nedenle, bir dağıtımda belirli sayıda örnek isterseniz, hata almamak için ceil(1.2 * number of instances requested for deployment) * number of cores for the VM SKU
kullanılabilir bir kotanız olmalıdır. Örneğin, bir dağıtımda bir Standard_DS3_v2 VM'nin 10 örneğini (dört çekirdekle birlikte gelir) isterseniz, 48 çekirdek (12 örnek dört çekirdek) için kotanız olmalıdır. Kullanım ve istek kotası artışlarınızı görüntülemek için bkz . Azure portalında kullanımınızı ve kotalarınızı görüntüleme.
Akışı dağıtım için hazırlama
Her akış kod/istem, tanım ve akışın diğer yapıtlarını içeren bir klasöre sahip olur. Akışınızı kullanıcı arabirimiyle geliştirdiyseniz akış klasörünü akış ayrıntıları sayfasından indirebilirsiniz. Akışınızı CLI veya SDK ile geliştirdiyseniz akış klasörünüz zaten olmalıdır.
Bu makalede, Azure Machine Learning yönetilen çevrimiçi uç noktasına dağıtmak için örnek akış "basic-chat" kullanılacaktır.
Önemli
Akışınızda kullandıysanız additional_includes
, önce flow klasörünün çözümlenmiş bir sürümünü almak için kullanmanız pf flow build --source <path-to-flow> --output <output-path> --format docker
gerekir.
Varsayılan çalışma alanını ayarlama
CLI için varsayılan çalışma alanını ve kaynak grubunu ayarlamak için aşağıdaki komutları kullanın.
az account set --subscription <subscription ID>
az configure --defaults workspace=<Azure Machine Learning workspace name> group=<resource group>
Akışı model olarak kaydetme (isteğe bağlı)
Çevrimiçi dağıtımda, kayıtlı bir modele başvurabilir veya model yolunu (model dosyalarının karşıya yüklendiği yer) satır içinde belirtebilirsiniz. Modelin kaydedilmesi ve dağıtım tanımında model adı ve sürümünün belirtilmesi önerilir. formunu model:<model_name>:<version>
kullanın.
Sohbet akışı için model tanımı örneği aşağıda verilmiştir.
Not
Akışınız bir sohbet akışı değilse, bunları properties
eklemeniz gerekmez.
$schema: https://azuremlschemas.azureedge.net/latest/model.schema.json
name: basic-chat-model
path: ../../../../examples/flows/chat/basic-chat
description: register basic chat flow folder as a custom model
properties:
# In AuzreML studio UI, endpoint detail UI Test tab needs this property to know it's from prompt flow
azureml.promptflow.source_flow_id: basic-chat
# Following are properties only for chat flow
# endpoint detail UI Test tab needs this property to know it's a chat flow
azureml.promptflow.mode: chat
# endpoint detail UI Test tab needs this property to know which is the input column for chat flow
azureml.promptflow.chat_input: question
# endpoint detail UI Test tab needs this property to know which is the output column for chat flow
azureml.promptflow.chat_output: answer
Modeli çalışma alanınıza kaydetmek için kullanın az ml model create --file model.yaml
.
Uç noktayı tanımlama
Uç nokta tanımlamak için şunları belirtmeniz gerekir:
- Uç nokta adı: Uç noktanın adı. Azure bölgesinde benzersiz olmalıdır. Adlandırma kuralları hakkında daha fazla bilgi için bkz . uç nokta sınırları.
- Kimlik doğrulama modu: Uç nokta için kimlik doğrulama yöntemi. Anahtar tabanlı kimlik doğrulaması ile Azure Machine Learning belirteç tabanlı kimlik doğrulaması arasında seçim yapın. Anahtarın süresi dolmaz, ancak belirtecin süresi dolmaz. Kimlik doğrulaması hakkında daha fazla bilgi için bkz . Çevrimiçi uç noktada kimlik doğrulaması yapma. İsteğe bağlı olarak, uç noktanıza bir açıklama ve etiketler ekleyebilirsiniz.
- İsteğe bağlı olarak, uç noktanıza bir açıklama ve etiketler ekleyebilirsiniz.
- Çalışma alanınıza ekli bir Kubernetes kümesine (AKS veya Arc özellikli küme) dağıtmak istiyorsanız, akışı bir Kubernetes çevrimiçi uç noktası olacak şekilde dağıtabilirsiniz.
Aşağıda, varsayılan olarak sistem tarafından atanan kimliği kullanan bir uç nokta tanımı örneği verilmiştir.
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineEndpoint.schema.json
name: basic-chat-endpoint
auth_mode: key
properties:
# this property only works for system-assigned identity.
# if the deploy user has access to connection secrets,
# the endpoint system-assigned identity will be auto-assigned connection secrets reader role as well
enforce_access_to_default_secret_stores: enabled
Tuş | Açıklama |
---|---|
$schema |
(İsteğe bağlı) YAML şeması. YAML dosyasındaki tüm kullanılabilir seçenekleri görmek için, şemayı bir tarayıcıdaki önceki kod parçacığında görüntüleyebilirsiniz. |
name |
Uç noktanın adı. |
auth_mode |
Anahtar tabanlı kimlik doğrulaması için kullanın key . Azure Machine Learning belirteç tabanlı kimlik doğrulaması için kullanın aml_token . En son belirteci almak için komutunu kullanın az ml online-endpoint get-credentials . |
property: enforce_access_to_default_secret_stores (Önizleme) |
- Varsayılan olarak uç nokta sistem tarafından atanan kimliği kullanır. Bu özellik yalnızca sistem tarafından atanan kimlik için çalışır. - Bu özellik, bağlantı gizli dizileri okuyucu iznine sahipseniz uç nokta sistem tarafından atanan kimliğin çalışma alanının Azure Machine Learning Çalışma Alanı Bağlan ion Gizli Dizi Okuyucusu rolüne otomatik olarak atanacağı ve böylece uç noktanın çıkarım yaparken bağlantılara doğru şekilde erişebileceği anlamına gelir. - Varsayılan olarak bu özellik 'devre dışı' şeklindedir. |
Bir Kubernetes çevrimiçi uç noktası oluşturursanız aşağıdaki ek öznitelikleri belirtmeniz gerekir:
Tuş | Açıklama |
---|---|
compute |
Uç noktanın dağıtılacağı Kubernetes işlem hedefi. |
Uç noktanın daha fazla yapılandırması için bkz . yönetilen çevrimiçi uç nokta şeması.
Önemli
Akışınız Microsoft Entra Id tabanlı kimlik doğrulama bağlantıları kullanıyorsa, sistem tarafından atanan kimliği veya kullanıcı tarafından atanan kimliği kullanmanız fark etmez, yönetilen kimliğe ilgili kaynakların ilgili rolleri vermeniz gerekir; böylece bu kaynağa API çağrıları yapabilir. Örneğin, Azure OpenAI bağlantınız Microsoft Entra ID tabanlı kimlik doğrulaması kullanıyorsa, ilgili Azure OpenAI kaynaklarının uç nokta yönetilen kimliğine Bilişsel Hizmetler OpenAI Kullanıcısı veya Bilişsel Hizmetler OpenAI Katkıda Bulunanı rolü vermeniz gerekir.
Kullanıcı tarafından atanan kimliği kullanma
Varsayılan olarak, çevrimiçi uç nokta oluşturduğunuzda sistem tarafından atanan yönetilen kimlik sizin için otomatik olarak oluşturulur. Uç nokta için kullanıcı tarafından atanan mevcut bir yönetilen kimlik de belirtebilirsiniz.
Kullanıcı tarafından atanan kimliği kullanmak istiyorsanız, içinde endpoint.yaml
aşağıdaki ek öznitelikleri belirtebilirsiniz:
identity:
type: user_assigned
user_assigned_identities:
- resource_id: user_identity_ARM_id_place_holder
Ayrıca, aşağıdaki gibi altında environment_variables
deployment.yaml
kullanıcı tarafından atanan kimliği de belirtmeniz Client ID
gerekir. öğesini Azure portalında Overview
yönetilen kimliğin içinde bulabilirsinizClient ID
.
environment_variables:
AZURE_CLIENT_ID: <client_id_of_your_user_assigned_identity>
Önemli
Çıkarım gerçekleştirmek için Azure kaynaklarına erişebilmesi için uç noktayı oluşturmadan önce kullanıcı tarafından atanan kimliğe aşağıdaki izinleri vermeniz gerekir. Uç nokta kimliğinize izin verme hakkında daha fazla bilgi edinin.
Kapsam | Rol | Neden gereklidir? |
---|---|---|
Azure Machine Learning Çalışma Alanı | Azure Machine Learning Çalışma Alanı Bağlantı Gizli Dizi Okuyucusu rolü VEYA "Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action" ile özelleştirilmiş bir rol | Çalışma alanı bağlantılarını alın |
Çalışma alanı kapsayıcı kayıt defteri | ACR çekme | Kapsayıcı görüntüsünü çekme |
Çalışma alanı varsayılan depolama alanı | Depolama Blob Verileri Okuyucusu | Modeli depolama alanından yükleme |
(İsteğe Bağlı) Azure Machine Learning Çalışma Alanı | Çalışma alanı ölçümleri yazıcısı | Uç noktayı dağıttığınızda CPU/GPU/Disk/Bellek kullanımı gibi uç noktayla ilgili ölçümleri izlemek istiyorsanız kimlik için bu izni vermeniz gerekir. |
Dağıtımı tanımlama
Dağıtım, gerçek çıkarım yapan modeli barındırmak için gereken bir kaynak kümesidir.
Aşağıda, bölümün model
kayıtlı akış modeline başvurduğu bir dağıtım tanımı örneği verilmiştir. Akış modeli yolunu da satır içinde belirtebilirsiniz.
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: basic-chat-endpoint
model: azureml:basic-chat-model:1
# You can also specify model files path inline
# path: examples/flows/chat/basic-chat
environment:
image: mcr.microsoft.com/azureml/promptflow/promptflow-runtime:latest
# inference config is used to build a serving container for online deployments
inference_config:
liveness_route:
path: /health
port: 8080
readiness_route:
path: /health
port: 8080
scoring_route:
path: /score
port: 8080
instance_type: Standard_E16s_v3
instance_count: 1
environment_variables:
# "compute" mode is the default mode, if you want to deploy to serving mode, you need to set this env variable to "serving"
PROMPTFLOW_RUN_MODE: serving
# for pulling connections from workspace
PRT_CONFIG_OVERRIDE: deployment.subscription_id=<subscription_id>,deployment.resource_group=<resource_group>,deployment.workspace_name=<workspace_name>,deployment.endpoint_name=<endpoint_name>,deployment.deployment_name=<deployment_name>
# (Optional) When there are multiple fields in the response, using this env variable will filter the fields to expose in the response.
# For example, if there are 2 flow outputs: "answer", "context", and I only want to have "answer" in the endpoint response, I can set this env variable to '["answer"]'.
# If you don't set this environment, by default all flow outputs will be included in the endpoint response.
# PROMPTFLOW_RESPONSE_INCLUDED_FIELDS: '["category", "evidence"]'
Öznitelik | Tanım |
---|---|
Ad | Dağıtımın adı. |
Uç nokta adı | Altında dağıtımın oluşturulacağı uç noktanın adı. |
Model | Dağıtım için kullanılacak model. Bu değer, çalışma alanında var olan bir sürüme sahip modelin başvurusu veya satır içi model belirtimi olabilir. |
Ortam | Modeli ve kodu barındıracak ortam. Şu içeriği içerir: - image - inference_config : , readiness_route ve scoring_route gibi liveness route çevrimiçi dağıtımlar için bir sunum kapsayıcısı oluşturmak için kullanılır. |
Örnek türü | Dağıtım için kullanılacak VM boyutu. Desteklenen boyutların listesi için bkz . Yönetilen çevrimiçi uç noktalar SKU listesi. |
Örnek sayısı | Dağıtım için kullanılacak örnek sayısı. Değeri beklediğiniz iş yüküne dayandırın. Yüksek kullanılabilirlik için değerini en az 3 olarak ayarlamanızı öneririz. Yükseltmeleri gerçekleştirmek için fazladan %20 ayırıyoruz. Daha fazla bilgi için bkz . Çevrimiçi uç noktaların sınırları. |
Ortam değişkenleri | Akıştan dağıtılan uç noktalar için aşağıdaki ortam değişkenlerinin ayarlanması gerekir: - (gerekli) PROMPTFLOW_RUN_MODE: serving : sunum modunu belirtin - (gerekli) PRT_CONFIG_OVERRIDE : çalışma alanından bağlantı çekmek için - (isteğe bağlı) PROMPTFLOW_RESPONSE_INCLUDED_FIELDS: : Yanıtta birden çok alan olduğunda, bu env değişkeni kullanıldığında alanlar yanıtta kullanıma sunulacak şekilde filtrelenir. Örneğin, iki akış çıkışı varsa: "answer", "context" ve yalnızca uç nokta yanıtında "answer" olmasını istiyorsanız, bu env değişkenini '["answer"]' olarak ayarlayabilirsiniz. |
Önemli
Akış klasörünüzde akışı yürütmek için gereken bağımlılıkları içeren bir requirements.txt
dosya varsa, bağımlılıklar dahil olmak üzere özel ortamı oluşturmak için özel bir ortamla dağıtma adımlarını izlemeniz gerekir.
Bir Kubernetes çevrimiçi dağıtımı oluşturursanız aşağıdaki ek öznitelikleri belirtmeniz gerekir:
Öznitelik | Açıklama |
---|---|
Tür | Dağıtımın türü. Değeri kubernetes olarak ayarlayın. |
Örnek türü | Dağıtım için kullanılacak kubernetes kümenizde oluşturduğunuz örnek türü, dağıtımın istek/sınır işlem kaynağını temsil eder. Daha fazla ayrıntı için bkz . Örnek türünü oluşturma ve yönetme. |
Çevrimiçi uç noktanızı Azure'a dağıtma
Uç noktayı bulutta oluşturmak için aşağıdaki kodu çalıştırın:
az ml online-endpoint create --file endpoint.yml
Uç noktanın altında adlı blue
dağıtımı oluşturmak için aşağıdaki kodu çalıştırın:
az ml online-deployment create --file blue-deployment.yml --all-traffic
Not
Bu dağıtım 15 dakikadan uzun sürebilir.
İpucu
CLI konsolunuzu engellememek isterseniz komutuna bayrağını --no-wait
ekleyebilirsiniz. Ancak bu, dağıtım durumunun etkileşimli görünümünü durdurur.
Önemli
Yukarıdaki az ml online-deployment create
bayrak, --all-traffic
uç nokta trafiğinin %100'unu yeni oluşturulan mavi dağıtıma ayırır. Bu, geliştirme ve test amacıyla yararlı olsa da, üretim için yeni dağıtıma yönelik trafiği açık bir komutla açmak isteyebilirsiniz. Örneğin, az ml online-endpoint update -n $ENDPOINT_NAME --traffic "blue=100"
.
Uç noktanın ve dağıtımın durumunu denetleme
Uç noktanın durumunu denetlemek için aşağıdaki kodu çalıştırın:
az ml online-endpoint show -n basic-chat-endpoint
Dağıtımın durumunu denetlemek için aşağıdaki kodu çalıştırın:
az ml online-deployment get-logs --name blue --endpoint basic-chat-endpoint
Modelinizi kullanarak verileri puan eklemek için uç noktayı çağırma
Aşağıdaki gibi bir sample-request.json dosyası oluşturabilirsiniz:
{
"question": "What is Azure Machine Learning?",
"chat_history": []
}
az ml online-endpoint invoke --name basic-chat-endpoint --request-file sample-request.json
Bunu bir HTTP istemcisiyle de çağırabilirsiniz, örneğin curl ile:
ENDPOINT_KEY=<your-endpoint-key>
ENDPOINT_URI=<your-endpoint-uri>
curl --request POST "$ENDPOINT_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data '{"question": "What is Azure Machine Learning?", "chat_history": []}'
Uç Nokta Kullanımı>Temel tüketim bilgileri'ndeki Azure Machine Learning çalışma alanından uç nokta anahtarınızı ve uç nokta>URI'nizi alabilirsiniz.
Gelişmiş yapılandırmalar
Akış geliştirmeden farklı bağlantılarla dağıtma
Dağıtım sırasında akışın bağlantılarını geçersiz kılmak isteyebilirsiniz.
Örneğin, flow.dag.yaml dosyanız adlı my_connection
bir bağlantı kullanıyorsa, dağıtım yaml'sinin ortam değişkenlerini aşağıdaki gibi ekleyerek geçersiz kılabilirsiniz:
1. Seçenek: bağlantı adını geçersiz kılma
environment_variables:
my_connection: <override_connection_name>
Seçenek 2: varlığa başvurarak geçersiz kılma
environment_variables:
my_connection: ${{azureml://connections/<override_connection_name>}}
Not
Yalnızca aynı çalışma alanı içindeki bir bağlantıya başvurabilirsiniz.
Özel bir ortamla dağıtma
Bu bölümde Docker ve Azure Machine Learning ortamları hakkında bilginiz olduğu varsayılarak dağıtımınız için ortamı belirtmek üzere docker derleme bağlamının nasıl kullanılacağı gösterilmektedir.
Yerel ortamınızda aşağıdaki dosyaları içeren adlı
image_build_with_reqirements
bir klasör oluşturun:|--image_build_with_reqirements | |--requirements.txt | |--Dockerfile
,
requirements.txt
akışın bağımlılıklarını izlemek için kullanılan akış klasöründen devralınmalıdır.İçerik
Dockerfile
aşağıdaki gibidir:FROM mcr.microsoft.com/azureml/promptflow/promptflow-runtime:latest COPY ./requirements.txt . RUN pip install -r requirements.txt
dağıtım tanımı yaml dosyasındaki ortam bölümünü aşağıdaki içerikle değiştirin:
environment: build: path: image_build_with_reqirements dockerfile_path: Dockerfile # deploy prompt flow is BYOC, so we need to specify the inference config inference_config: liveness_route: path: /health port: 8080 readiness_route: path: /health port: 8080 scoring_route: path: /score port: 8080
FastAPI sunum altyapısını kullanma (önizleme)
Varsayılan olarak istem akışı sunma, FLASK sunum altyapısını kullanır. İstem akışı SDK'sı sürüm 1.10.0'dan başlayarak FastAPI tabanlı hizmet altyapısı desteklenir. Bir ortam değişkeni PROMPTFLOW_SERVING_ENGINE
belirterek hizmet altyapısını kullanabilirsinizfastapi
.
environment_variables:
PROMPTFLOW_SERVING_ENGINE=fastapi
Dağıtım için eşzamanlılığı yapılandırma
Akışınızı çevrimiçi dağıtıma dağıtırken, eşzamanlılık için yapılandırdığınız iki ortam değişkeni vardır: PROMPTFLOW_WORKER_NUM
ve PROMPTFLOW_WORKER_THREADS
. Ayrıca parametresini max_concurrent_requests_per_instance
de ayarlamanız gerekir.
Aşağıda, dosyada yapılandırma örneği verilmiştir deployment.yaml
.
request_settings:
max_concurrent_requests_per_instance: 10
environment_variables:
PROMPTFLOW_WORKER_NUM: 4
PROMPTFLOW_WORKER_THREADS: 1
PROMPTFLOW_WORKER_NUM: Bu parametre, bir kapsayıcıda başlatılacak çalışan sayısını (işlem) belirler. Varsayılan değer CPU çekirdeği sayısına eşittir ve maksimum değer CPU çekirdeği sayısının iki katıdır.
PROMPTFLOW_WORKER_THREADS: Bu parametre, bir çalışanda başlatılacak iş parçacığı sayısını belirler. Varsayılan değer 1 şeklindedir.
Not
1'den büyük bir değere ayarlarken
PROMPTFLOW_WORKER_THREADS
akış kodunuzun iş parçacığı açısından güvenli olduğundan emin olun.max_concurrent_requests_per_instance: Dağıtım için izin verilen örnek başına en fazla eşzamanlı istek sayısı. Varsayılan değer 10'dur.
için
max_concurrent_requests_per_instance
önerilen değer, istek sürenize bağlıdır:- İstek süreniz 200 ms'den uzunsa olarak ayarlayın
max_concurrent_requests_per_instance
PROMPTFLOW_WORKER_NUM * PROMPTFLOW_WORKER_THREADS
. - İstek süreniz 200 ms'den küçük veya buna eşitse olarak ayarlayın
max_concurrent_requests_per_instance
(1.5-2) * PROMPTFLOW_WORKER_NUM * PROMPTFLOW_WORKER_THREADS
. Bu, bazı isteklerin sunucu tarafında kuyruğa alınmasına izin vererek toplam aktarım hızını iyileştirebilir. - Bölgeler arası istekler gönderiyorsanız eşiği 200 ms'den 1 sn'ye değiştirebilirsiniz.
- İstek süreniz 200 ms'den uzunsa olarak ayarlayın
Yukarıdaki parametreleri ayarlarken en iyi performansı ve kararlılığı sağlamak için aşağıdaki ölçümleri izlemeniz gerekir:
- Bu dağıtımın örnek CPU/Bellek kullanımı
- 200 dışı yanıtlar (4xx, 5xx)
- 429 yanıtı alırsanız, bu genellikle yukarıdaki kılavuzu izleyerek eşzamanlılık ayarlarınızı yeniden ayarlamanız veya dağıtımınızı ölçeklendirmeniz gerektiğini gösterir.
- Azure OpenAI azaltma durumu
Uç noktaları izleme
Genel ölçümleri toplama
Çevrimiçi dağıtımın genel ölçümlerini (istek numaraları, istek gecikme süresi, ağ baytları, CPU/GPU/Disk/Bellek kullanımı ve daha fazlası) görüntüleyebilirsiniz.
Çıkarım zamanında izleme verilerini ve sistem ölçümlerini toplama
Ayrıca dağıtım yaml dosyasına bir özellik app_insights_enabled: true
ekleyerek çalışma alanına bağlı Uygulama Analizler çıkarım süresi boyunca izleme verilerini toplayabilir ve akış dağıtımına özgü ölçümleri (belirteç tüketimi, akış gecikmesi vb.) toplayabilirsiniz. İstem akışı dağıtımının izlemesi ve ölçümleri hakkında daha fazla bilgi edinin.
İstem akışına özgü ölçümler ve izleme, çalışma alanı bağlantılı ölçüm dışındaki diğer Uygulama Analizler belirtilebilir. Dağıtım yaml dosyasında aşağıdaki gibi bir ortam değişkeni belirtebilirsiniz. Uygulama Analizler bağlantı dizesi Azure portalındaki Genel Bakış sayfasında bulabilirsiniz.
environment_variables:
APPLICATIONINSIGHTS_CONNECTION_STRING: <connection_string>
Not
Yalnızca ayarlarsanız app_insights_enabled: true
ancak çalışma alanınızda bağlı bir Uygulama Analizler yoksa dağıtımınız başarısız olmaz, ancak toplanan veri olmaz.
Hem hem de app_insights_enabled: true
yukarıdaki ortam değişkenini aynı anda belirtirseniz, izleme verileri ve ölçümler çalışma alanına bağlı Uygulama Analizler gönderilir. Bu nedenle, farklı bir Uygulama Analizler belirtmek istiyorsanız, yalnızca ortam değişkenini tutmanız gerekir.
Sık karşılaşılan hatalar
Uç nokta kullanılırken yukarı akış isteği zaman aşımı sorunu
Bu tür bir hataya genellikle zaman aşımı neden olur. Varsayılan olarak request_timeout_ms
5000'dir. En fazla 5 dakika (300.000 ms) belirtebilirsiniz. Aşağıda, dağıtım yaml dosyasında istek zaman aşımının nasıl belirtileceğini gösteren örnek verilmiştir. Dağıtım şeması hakkında daha fazla bilgiyi burada bulabilirsiniz.
request_settings:
request_timeout_ms: 300000
Sonraki adımlar
- Yönetilen çevrimiçi uç nokta şeması ve yönetilen çevrimiçi dağıtım şeması hakkında daha fazla bilgi edinin.
- Kullanıcı arabiriminde uç noktayı test etme ve uç noktayı izleme hakkında daha fazla bilgi edinin.
- Yönetilen çevrimiçi uç noktaların sorunlarını giderme hakkında daha fazla bilgi edinin.
- İstem akışı dağıtımlarıyla ilgili sorunları giderme.
- Akışınızı iyileştirdikten ve geliştirilmiş sürümü güvenli dağıtım stratejisiyle dağıtmak istediğinizde çevrimiçi uç noktalar için Kasa dağıtımına bakın.
- Akışları yerel geliştirme hizmeti, Docker kapsayıcısı, Azure APP hizmeti vb. gibi diğer platformlara dağıtma hakkında daha fazla bilgi edinin.