Hizmet uç noktaları üzerinde yol iyileştirmeyi yapılandırma
Bu makalede, model sunma veya özellik sunma uç noktalarınızda yol iyileştirmenin nasıl yapılandırıldığı ve bunların nasıl sorgulandığı açıklanmaktadır. Yol için iyileştirilmiş hizmet sunan uç noktalar, ek yük gecikme süresini önemli ölçüde azaltır ve uç noktanız tarafından desteklenen aktarım hızı üzerinde önemli iyileştirmeler sağlar.
Yüksek aktarım hızı veya gecikme süresine duyarlı iş yükleri için yol iyileştirme önerilir.
Gereksinimler
- Uç noktaya hizmet veren bir modelde yol iyileştirmesi için bkz . Gereksinimler.
- Uç noktaya hizmet veren bir özellikte yol iyileştirmesi için bkz . Gereksinimler.
Uç noktaya hizmet veren bir modelde yol iyileştirmeyi etkinleştirme
route_optimized
Uç noktanızı rota iyileştirme için yapılandırmak üzere uç nokta oluşturma modeli sunma sırasında parametresini belirtin. Bu parametreyi yalnızca uç nokta oluşturma sırasında belirtebilirsiniz; mevcut uç noktaları yol için iyileştirilmiş olacak şekilde güncelleştiremezsiniz.
POST /api/2.0/serving-endpoints
{
"name": "my-endpoint",
"config":{
"served_entities": [{
"entity_name": "ads1",
"entity_version": "1",
"workload_type": "CPU",
"workload_size": "Small",
"scale_to_zero_enabled": true,
}],
},
"route_optimized": true
}
Hizmet Sunma kullanıcı arabiriminde bir uç nokta için yol iyileştirmeyi etkinleştirebilirsiniz. Python kullanıyorsanız, yol için iyileştirilmiş bir sunum uç noktası oluşturmak için aşağıdaki not defterini kullanabilirsiniz.
Python not defterini kullanarak yol için iyileştirilmiş sunum uç noktası oluşturma
Uç noktaya hizmet veren bir özellikte yol iyileştirmeyi etkinleştirme
Özellik ve İşlev Sunma için yol iyileştirmeyi kullanmak için, uç nokta oluşturma isteklerini sunma alanında özellik belirtiminin entity_name
tam adını belirtin. entity_version
için FeatureSpecs
gerekli değildir.
POST /api/2.0/serving-endpoints
{
"name": "my-endpoint",
"config": {
"served_entities": [
{
"entity_name": "catalog_name.schema_name.feature_spec_name",
"workload_type": "CPU",
"workload_size": "Small",
"scale_to_zero_enabled": true
}
]
},
"route_optimized": true
}
Uç noktaları sunan sorgu yolu için iyileştirilmiş model
Aşağıdaki adımlarda, uç noktaya hizmet veren yol için iyileştirilmiş bir modelin sorgusunu test etme adımları gösterilmektedir.
Üretim kullanımı için, bir uygulamada yol için iyileştirilmiş uç noktanızı kullanmak gibi bir OAuth belirteci oluşturmanız gerekir. Aşağıdaki adımlar, Sunma kullanıcı arabiriminde bir belirtecin nasıl getirileceğini gösterir. Programlı iş akışları için bkz . Program aracılığıyla OAuth belirteci getirme.
- Çalışma alanınızın Sunma kullanıcı arabiriminden bir OAuth belirteci getirin.
- Hizmet Verme kullanıcı arabirimini görüntülemek için kenar çubuğunda Sunma'ya tıklayın.
- Uç noktaları sunma sayfasında, uç nokta ayrıntılarını görmek için yol için iyileştirilmiş uç noktanızı seçin.
- Uç nokta ayrıntıları sayfasında, Uç noktayı sorgula düğmesine tıklayın.
- Belirteç Getir sekmesini seçin.
- OAuth Belirtecini Getir düğmesini seçin. Bu belirteç 1 saat geçerlidir. Geçerli belirtecinizin süresi dolarsa yeni bir belirteç getirin.
- Sunum kullanıcı arabirimindeki uç nokta ayrıntıları sayfasından model sunum uç noktası URL'nizi alın.
- Yol için iyileştirilmiş uç noktayı sorgulayan aşağıdaki örnek kodu doldurmak için 1. adımdaki OAuth belirtecini ve 2. adımdaki uç nokta URL'sini kullanın.
url="your-endpoint-url"
OAUTH_TOKEN=xxxxxxx
curl -X POST -H 'Content-Type: application/json' -H "Authorization: Bearer $OAUTH_TOKEN" -d@data.json $url
Python SDK'sı için rota için iyileştirilmiş uç noktayı sorgulamak için Databricks hesap ekibinize ulaşın.
OAuth belirtecini program aracılığıyla getirme
OAuth (OAuth M2M) kullanarak hizmet sorumlusuyla Azure Databricks'e erişimin kimliğini doğrulama, OAuth belirtecini program aracılığıyla getirme konusunda rehberlik sağlar. Bu adımlara ek olarak, istekte belirtmeniz authorization_details
gerekir.
- değerini önceki belirteç uç noktası URL'si ile değiştirin
<token-endpoint-URL>
. - değerini hizmet sorumlusunun uygulama kimliği olarak da bilinen istemci kimliğiyle değiştirin
<client-id>
. - değerini, oluşturduğunuz hizmet sorumlusunun OAuth gizli dizisiyle değiştirin
<client-secret>
. - değerini rota için iyileştirilmiş uç noktanın uç nokta kimliğiyle değiştirin
<endpoint-id>
. Bunu uç nokta URL'sindeki hostName'den getirebilirsiniz. - değerini hizmet sorumlusuna verilen eylem izniyle değiştirin
<action>
. Eylem veyamanage_inference_endpoint
olabilirquery_inference_endpoint
.
Örneğin:
export CLIENT_ID=<client-id>
export CLIENT_SECRET=<client-secret>
export ENDPOINT_ID=<endpoint-id>
export ACTION=<action>
curl --request POST \
--url <token-endpoint-URL> \
--user "$CLIENT_ID:$CLIENT_SECRET" \
--data 'grant_type=client_credentials&scope=all-apis'
--data-urlencode 'authorization_details=[{"type":"workspace_permission","object_type":"serving-endpoints","object_path":"'"/serving-endpoints/$ENDPOINT_ID"'","actions": ["'"$ACTION"'"]}]'
Sınırlamalar
- Yol iyileştirme yalnızca uç noktaları sunan özel model ve uç noktaları sunan özellik için kullanılabilir. Temel Model API'leri ve Dış Modeller desteklenmez.
- Databricks şirket içi OAuth belirteçleri, yol iyileştirme için desteklenen tek kimlik doğrulamasıdır. Kişisel erişim belirteçleri desteklenmez.
- Yol iyileştirme, Azure Databricks çalışma alanınızda yapılandırdığınız Özel Bağlantı ağ kısıtlamalarını zorlamaz. Trafiğe hizmet veren modelin bu denetimlere bağlı olmasını istiyorsanız, yol iyileştirmeyi etkinleştirmeyin. Bu tür ağ gereksinimleriniz varsa ve yine de rota için iyileştirilmiş model sunumlarını denemek istiyorsanız Databricks hesap ekibinize ulaşın.
- Rota iyileştirmesi belirli bölgelerde kullanılamaz. Hizmet Sunma kullanıcı arabiriminde yol iyileştirmeyi etkinleştirme seçeneğini görmüyorsanız Databricks hesap ekibinize ulaşın.