Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, uç noktaları sunan modelden dış ve özel kaynaklara erişimin nasıl yapılandırıldığı açıklanır. Model Sunumu, Databricks secrets kullanarak düz metin ortam değişkenlerini ve gizli anahtar tabanlı ortam değişkenlerini destekler.
Gereksinimler
Gizli anahtar tabanlı ortam değişkenleri için,
- Uç noktayı oluşturan kullanıcının, yapılandırmalarda başvurulan Databricks gizli anahtarlarına READ erişimi olmalıdır.
- API anahtarınız veya diğer belirteçler gibi kimlik bilgilerini Databricks gizli dizisi olarak depolamanız gerekir.
Düz metin ortamı değişkenleri ekleme
Gizli olması gerekmeyen değişkenleri ayarlamak için düz metin ortam değişkenlerini kullanın. Uç nokta oluştururken veya güncelleştirirken Hizmet Kullanıcı Arabiriminde, REST API'de veya SDK'da değişkenler ayarlayabilirsiniz.
Kullanıcı Arayüzü Sunma
Sunum Kullanıcı Arabirimi'nden Gelişmiş yapılandırmalar'a bir ortam değişkeni ekleyebilirsiniz:
REST API
Aşağıda, REST API'yi ve POST /api/2.0/serving-endpoints ortam değişkeninizi yapılandırma alanını kullanarak environment_vars bir sunum uç noktası oluşturmaya yönelik bir örnek verilmiştir.
{
"name": "endpoint-name",
"config": {
"served_entities": [
{
"entity_name": "model-name",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": "true",
"environment_vars": {
"TEXT_ENV_VAR_NAME": "plain-text-env-value"
}
}
]
}
}
WorkspaceClient SDK'sı
Aşağıda WorkspaceClient SDK'sını ve environment_vars ortam değişkeninizi yapılandırma alanını kullanarak bir sunum uç noktası oluşturmaya yönelik bir örnek verilmiştir.
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ServedEntityInput, EndpointCoreConfigInput, ServingModelWorkloadType
w = WorkspaceClient()
endpoint_name = "example-add-model"
model_name = "main.default.addmodel"
w.serving_endpoints.create_and_wait(
name=endpoint_name,
config=EndpointCoreConfigInput(
served_entities=[
ServedEntityInput(
entity_name = model_name,
entity_version = "2",
workload_type = ServingModelWorkloadType("CPU"),
workload_size = "Small",
scale_to_zero_enabled = False,
environment_vars = {
"MY_ENV_VAR": "value_to_be_injected",
"ADS_TOKEN": "abcdefg-1234"
}
)
]
)
)
MLflow Dağıtım SDK'sı
Mlflow Dağıtımları SDK'sını ve environment_vars ortam değişkeninizi yapılandırma alanını kullanarak bir sunum uç noktası oluşturmaya yönelik bir örnek aşağıda verilmiştir.
from mlflow.deployments import get_deploy_client
client = get_deploy_client("databricks")
endpoint = client.create_endpoint(
name="unity-catalog-model-endpoint",
config={
"served_entities": [
{
"name": "ads-entity"
"entity_name": "catalog.schema.my-ads-model",
"entity_version": "3",
"workload_size": "Small",
"scale_to_zero_enabled": True,
"environment_vars": {
"MY_ENV_VAR": "value_to_be_injected",
"ADS_TOKEN": "abcdefg-1234"
}
}
]
}
)
Doğrulama tablolarındaki özellik arama DataFrame'lerini kaydetme
Uç noktanızda çıkarım tabloları etkinleştirildiyse, kullanarak ENABLE_FEATURE_TRACING bu çıkarım tablosuna kaydedebilirsiniz. Bunun için MLflow 2.14.0 veya üzeri gerekir.
Uç nokta oluşturduğunuzda veya güncelleştirdiğinizde, Sunum Kullanıcı Arabiriminde, REST API'de veya SDK'da ortam değişkeni olarak ayarlayın ENABLE_FEATURE_TRACING .
Kullanıcı Arayüzü Sunma
- Gelişmiş yapılandırmalar'da ** + Ortam değişkenleri ekle**'yi seçin.
- Ortam adı olarak yazın
ENABLE_FEATURE_TRACING. - Sağdaki alana
trueyazın.
REST API
Aşağıda, REST API'yi ve ortam değişkenini POST /api/2.0/serving-endpointsenvironment_vars yapılandırma ENABLE_FEATURE_TRACING alanını kullanarak bir sunum uç noktası oluşturmaya yönelik bir örnek verilmiştir.
{
"name": "endpoint-name",
"config": {
"served_entities": [
{
"entity_name": "model-name",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": "true",
"environment_vars": {
"ENABLE_FEATURE_TRACING": "true"
}
}
]
}
}
WorkspaceClient SDK'sı
Aşağıda WorkspaceClient SDK'sını ve ortam değişkenini environment_vars yapılandırma ENABLE_FEATURE_TRACING alanını kullanarak bir sunum uç noktası oluşturmaya yönelik bir örnek verilmiştir.
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ServedEntityInput, EndpointCoreConfigInput, ServingModelWorkloadType
w = WorkspaceClient()
endpoint_name = "example-add-model"
model_name = "main.default.addmodel"
w.serving_endpoints.create_and_wait(
name=endpoint_name,
config=EndpointCoreConfigInput(
served_entities=[
ServedEntityInput(
entity_name = model_name,
entity_version = "2",
workload_type = ServingModelWorkloadType("CPU"),
workload_size = "Small",
scale_to_zero_enabled = False,
environment_vars = {
"ENABLE_FEATURE_TRACING": "true"
}
)
]
)
)
MLflow Dağıtım SDK'sı
Aşağıda, Mlflow Dağıtımları SDK'sını ve environment_vars alanını kullanarak ENABLE_FEATURE_TRACING ortam değişkenini yapılandırarak bir servis uç noktası oluşturma örneği verilmiştir.
from mlflow.deployments import get_deploy_client
client = get_deploy_client("databricks")
endpoint = client.create_endpoint(
name="unity-catalog-model-endpoint",
config={
"served_entities": [
{
"name": "ads-entity"
"entity_name": "catalog.schema.my-ads-model",
"entity_version": "3",
"workload_size": "Small",
"scale_to_zero_enabled": True,
"environment_vars": {
"ENABLE_FEATURE_TRACING": "true"
}
}
]
}
)
Gizli dizi tabanlı ortam değişkenleri ekleme
Databricks gizli anahtarlarını kullanarak kimlik bilgilerini güvenli bir şekilde depolayabilir ve model sunumunda gizli anahtar tabanlı ortam değişkenlerini kullanarak bu gizli anahtarlara başvurabilirsiniz. Bu, kimlik bilgilerinin sunum sırasında model sunum uç noktalarından alınabilmesini sağlar.
Örneğin, OpenAI ve diğer dış model uç noktalarını çağırmak için kimlik bilgilerini geçirebilir veya dış veri depolama konumlarına doğrudan model sunumundan erişebilirsiniz.
Databricks, OpenAI ve LangChain MLflow model varyantlarını servise dağıtmak için bu özelliği önerir. Ayrıca, erişim deseninin ortam değişkenlerini, API anahtarlarını ve belirteçlerini kullanmayı temel alarak kimlik bilgileri gerektiren diğer SaaS modelleri için de geçerlidir.
1. Adım: Gizli kapsam oluşturun
Model sunumu sırasında gizli anahtarlar, gizli anahtar kapsamı ve anahtar kullanılarak Databricks secrets'tan alınır. Bunlar, modelin içinde kullanılabilecek gizli ortam değişken adlarına atanır.
Öncelikle bir secret scope oluşturun. Bkz. Gizli kapsamları yönetme.
CLI komutları şunlardır:
databricks secrets create-scope my_secret_scope
Ardından gizli dizinizi aşağıda gösterildiği gibi istediğiniz gizli dizi kapsamına ve anahtarına ekleyebilirsiniz:
databricks secrets put-secret my_secret_scope my_secret_key
Gizli dizi bilgileri ve ortam değişkeninin adı, uç nokta oluşturma sırasında veya mevcut bir uç nokta yapılandırmasının güncelleştirmesi olarak uç nokta yapılandırmanıza geçirilebilir.
2. Adım: Uç nokta yapılandırmasına gizli kapsamlar ekleyin
Gizli dizi kapsamını bir ortam değişkenine ekleyebilir ve uç nokta oluşturma veya yapılandırma güncelleştirmeleri sırasında bu değişkeni uç noktanıza geçirebilirsiniz. Bkz. Özel model sunma uç noktaları oluşturma.
Kullanıcı Arayüzü Sunma
Sunum Kullanıcı Arabirimi'nden Gelişmiş yapılandırmalar'a bir ortam değişkeni ekleyebilirsiniz. Gizli dizi tabanlı ortam değişkeni aşağıdaki söz dizimi kullanılarak sağlanmalıdır: {{secrets/scope/key}}. Aksi takdirde ortam değişkeni düz metin ortam değişkeni olarak kabul edilir.
REST API
Aşağıda REST API kullanarak bir sunum uç noktası oluşturmaya yönelik bir örnek verilmiştir. Uç nokta oluşturma ve yapılandırma güncelleştirmelerine hizmet veren model sırasında, alanı kullanarak environment_vars API isteği içinde sunulan her model için gizli ortam değişkeni belirtimlerinin listesini sağlayabilirsiniz.
Aşağıdaki örnek, sağlanan kodda oluşturulan gizli dizideki değeri ortam değişkenine OPENAI_API_KEYatar.
{
"name": "endpoint-name",
"config": {
"served_entities": [
{
"entity_name": "model-name",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": "true",
"environment_vars": {
"OPENAI_API_KEY": "{{secrets/my_secret_scope/my_secret_key}}"
}
}
]
}
}
Aşağıdaki PUT /api/2.0/serving-endpoints/{name}/config REST API örneğinde olduğu gibi bir sunum uç noktasını da güncelleştirebilirsiniz:
{
"served_entities": [
{
"entity_name": "model-name",
"entity_version": "2",
"workload_size": "Small",
"scale_to_zero_enabled": "true",
"environment_vars": {
"OPENAI_API_KEY": "{{secrets/my_secret_scope/my_secret_key}}"
}
}
]
}
WorkspaceClient SDK'sı
Aşağıda WorkspaceClient SDK'sını kullanarak bir sunum uç noktası oluşturmaya yönelik bir örnek verilmiştir. Uç nokta oluşturma ve yapılandırma güncelleştirmelerine hizmet veren model sırasında, alanı kullanarak environment_vars API isteği içinde sunulan her model için gizli ortam değişkeni belirtimlerinin listesini sağlayabilirsiniz.
Aşağıdaki örnek, sağlanan kodda oluşturulan gizli dizideki değeri ortam değişkenine OPENAI_API_KEYatar.
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ServedEntityInput, EndpointCoreConfigInput, ServingModelWorkloadType
w = WorkspaceClient()
endpoint_name = "example-add-model"
model_name = "main.default.addmodel"
w.serving_endpoints.create_and_wait(
name=endpoint_name,
config=EndpointCoreConfigInput(
served_entities=[
ServedEntityInput(
entity_name = model_name,
entity_version = "2",
workload_type = ServingModelWorkloadType("CPU"),
workload_size = "Small",
scale_to_zero_enabled = False,
environment_vars = {
"OPENAI_API_KEY": "{{secrets/my_secret_scope/my_secret_key}}"
}
)
]
)
)
MLflow Dağıtım SDK'sı
Mlflow Dağıtımları SDK'sını kullanarak bir sunum uç noktası oluşturmaya yönelik bir örnek aşağıda verilmiştir. Uç nokta oluşturma ve yapılandırma güncelleştirmelerine hizmet veren model sırasında, alanı kullanarak environment_vars API isteği içinde sunulan her model için gizli ortam değişkeni belirtimlerinin listesini sağlayabilirsiniz.
Aşağıdaki örnek, sağlanan kodda oluşturulan gizli dizideki değeri ortam değişkenine OPENAI_API_KEYatar.
from mlflow.deployments import get_deploy_client
client = get_deploy_client("databricks")
endpoint = client.create_endpoint(
name="unity-catalog-model-endpoint",
config={
"served_entities": [
{
"name": "ads-entity"
"entity_name": "catalog.schema.my-ads-model",
"entity_version": "3",
"workload_size": "Small",
"scale_to_zero_enabled": True,
"environment_vars": {
"OPENAI_API_KEY": "{{secrets/my_secret_scope/my_secret_key}}"
}
}
]
}
)
Uç nokta oluşturulduktan veya güncelleştirildikten sonra, model sunma özelliği Databricks gizli dizileri kapsamından gizli anahtarı otomatik olarak getirir ve model çıkarım kodunuzun kullanması için ortam değişkenini doldurur.
Not defteri örneği
Gizli bilgilere dayalı ortam değişkenleri kullanarak, model sunum uç noktalarının arkasına dağıtılmış bir LangChain Retrieval QA Zinciri için OpenAI API anahtarının nasıl yapılandırılacağını gösteren bir örnek için aşağıdaki not defterine bakın.