Oluşturucu yapay zeka uygulamaları için aracı dağıtma (Model Sunma)

Important

Yeni kullanım örnekleri için Databricks aracı kodu, sunucu yapılandırması ve dağıtım iş akışı üzerinde tam denetim için Databricks Uygulamalarına aracı dağıtmanızı önerir. Bkz. Bir yapay zeka aracısı yazma ve Databricks Uygulamalarında dağıtma. Mevcut bir ajanı taşımak için Model Sunumu'ndan Databricks Uygulamalarına ajan göç ettirme bölümüne bakın.

deploy() işlevini kullanarak Mozaik AI Modeli Sunma'da yapay zeka aracınızı dağıtın. Dağıtım yerleşik ölçeklenebilirlik, izleme ve işbirliği araçlarıyla bir sunum uç noktası oluşturur.

Dağıtılan aracınız, gerçek zamanlı izleme, paydaş geri bildirimleri için Gözden Geçirme Uygulaması ve izleme dahil olmak üzere MLflow 3 değerlendirme ve izleme özellikleriyle otomatik olarak tümleşir.

Requirements

MLflow 3

  • Etmeninizi Unity Kataloğu'nda kaydedin.
  • api'sini kullanarak aracıları dağıtmak için MLflow 3.1.3 veya üzerini deploy()databricks.agentsyükleyin.
  • Databricks not defterinin dışından aracı dağıtmak için SDK sürüm 1.1.0 veya üzeri gerekir databricks-agents .

Önkoşulları yükleyin:

# Install prerequisites
%pip install mlflow>=3.1.3 databricks-agents>=1.1.0

# Restart Python to make sure the new packages are picked up
dbutils.library.restartPython()

MLflow 2.x

Important

Databricks, bazı MLflow 2 günlük işlevleri kullanım dışı bırakılacağı için aracıları dağıtmak için MLflow 3 kullanılmasını önerir. Ayrıntılı dağıtım eylemlerine bakın.

  • Etmeninizi Unity Kataloğu'nda kaydedin.
  • API'yi kullanarak ajanları dağıtmak için MLflow 2.13.1 veya üzerini deploy()databricks.agents yükleyin.
  • Databricks not defterinin dışından aracı dağıtmak için databricks-agents SDK sürüm 0.12.0 veya üzeri gerekir.

Önkoşulları yükleyin:

# Install prerequisites
%pip install mlflow>=2.13.1 databricks-agents>=0.12.0

# Restart Python to make sure the new packages are picked up
dbutils.library.restartPython()

Aracıları kullanarak dağıtma deploy()

Temsilcinizi model sunma uç noktasına dağıtın.

from databricks import agents

deployment = agents.deploy(uc_model_name, uc_model_info.version)

# Retrieve the query endpoint URL for making API requests
deployment.query_endpoint

deploy() öğesini çağırdığınızda Databricks, üretim altyapısını otomatik olarak ayarlar ve aşağıdakileri yaparak aracınızı MLflow gen AI özellikleriyle tümleştirir:

Uyarı

Databricks Git klasöründe depolanan bir not defterinden aracı dağıtıyorsanız, MLflow 3 gerçek zamanlı izleme varsayılan olarak çalışmaz.

Gerçek zamanlı izlemeyi etkinleştirmek için çalıştırmadan önce mlflow.set_experiment()kullanarak agents.deploy() denemeyi Git ile ilişkili olmayan bir deneme olarak ayarlayın.

deploy() İşlev varsayılan olarak aşağıdaki eylemleri gerçekleştirir:

  • Otomatik ölçeklendirme ve yük dengeleme ile aracınızı barındırmak için uç noktaya hizmet veren bir model oluşturur
  • Aracınızın temel kaynaklara erişmesi için güvenli kimlik doğrulaması sağlar
  • Üretim trafiğinde MLflow deneme izleme ve otomatik kalite değerlendirmesi aracılığıyla gerçek zamanlı izleme sağlar
  • Geri bildirim toplama için Uygulamayı Gözden Geçir'i kullanarak paydaş işbirliğini ayarlar

Daha fazla bilgi için bkz . Ayrıntılı dağıtım eylemleri.

Dağıtımı özelleştirme

Dağıtımı özelleştirmek için deploy() öğesine ek bağımsız değişkenler geçirin. Örneğin, boşta olan uç noktalar için sıfır ölçeğini etkinleştirmek amacıyla scale_to_zero_enabled=True geçebilirsiniz. Bu, maliyetleri azaltır ancak ilk sorgulara hizmet verme süresini artırır.

Daha fazla parametre için bkz. Databricks Agents Python API.

Aracı dağıtımlarını geri alma ve silme

Mevcut aracı dağıtımlarını alma veya yönetme. Bkz. Databricks Agents Python API.

from databricks.agents import list_deployments, get_deployments, delete_deployment

# Print all current deployments
deployments = list_deployments()
print(deployments)

# Get the deployment for a specific agent model name and version
agent_model_name = ""    # Set to your Unity Catalog model name
agent_model_version = 1  # Set to your agent model version
deployment = get_deployments(model_name=agent_model_name, model_version=agent_model_version)

# List all deployments
all_deployments = list_deployments()

# Delete an agent deployment
delete_deployment(model_name=agent_model_name, model_version=agent_model_version)

Bağımlı kaynaklar için kimlik doğrulaması

Aracılar genellikle dağıtıldıklarında, görevleri tamamlamak için diğer kaynaklara kimlik doğrulaması gerçekleştirmelidir. Örneğin, bir aracının yapılandırılmamış verileri sorgulamak için Vektör Arama dizinine erişmesi gerekebilir.

Bunların ne zaman kullanılacağı ve nasıl ayarlanacağı gibi kimlik doğrulama yöntemleri hakkında bilgi için bkz. Yapay zeka aracıları için kimlik doğrulaması (Model Sunma).

Aracı dağıtımları için ağ oluşturma

Çalışma alanınız Private Link veya kısıtlanmış çıkış ağ ilkeleri kullanıyorsa, aracı dağıtımlarının başarılı olması için ağ erişimini yapılandırmanız gerekir. Model sunum uç noktaları, kapsayıcı derleme işlemi sırasında bağımlılıkları indirmek için dışa doğru erişim gerektirir. Aracıların çalışma zamanında dış API'lere de ulaşması gerekebilir.

Databricks Uygulamalarında dağıtılan aracılar için, DNS veya çıkış ilkelerini yapılandırma hakkında ayrıntılı yönergeler için bkz. Private Link ortamlarındaki uygulamaları dağıtma.

Model Sunma'da dağıtılan aracılar için aşağıdakileri doğrulayın:

  • Build-time bağımlılıkları: Ağ ilkeniz, Python paketleri için pypi.org veya files.pythonhosted.org gibi aracınızın ortamı için gereken paket depolarına erişim izni vermelidir. Azure Databricks, engellenen ağ erişimi nedeniyle oluşan derleme hatalarını network_source_type: ML Build sistem tablosunda system.access.outbound_network ile günlüğe kaydeder. Bkz . Model sunma ile doğrulama.
  • Çalışma zamanı bağımlılıkları: Aracınız çıkarım sırasında dış API'leri veya hizmetleri çağırıyorsa, bu etki alanlarını ağ ilkenizin izin verilenler listesine ekleyin.
  • DNS resolution: Private Link ortamlarında, aracınızın Bağlı olduğu tüm Azure Databricks hizmetlerinin ana bilgisayar adlarını (Vektör Arama veya SQL ambarı uç noktaları gibi) çözümleyebildiğini doğrulayın.

Ayrıntılı dağıtım eylemleri

Aşağıdaki tabloda, bir deploy() çağrıdan kaynaklanan ayrıntılı dağıtım eylemleri listelenmiştir. Dağıtımların tamamlanması 15 dakika kadar sürebilir.

MLflow 3

deploy() eylem Description
Model hizmet uç noktası oluştur Otomatik yük dengeleme ile aracınıza kullanıcıya yönelik uygulamalara hizmet veren ölçeklenebilir bir REST API uç noktası oluşturur.
Güvenli kimlik doğrulaması sağlama Aracınızın gereken en düşük izinlerle Databricks tarafından yönetilen kaynaklara (Vektör Arama dizinleri, Unity Kataloğu işlevleri vb.) erişmesine olanak sağlayan kısa süreli kimlik bilgilerini otomatik olarak sağlar.
Databricks, kimlik bilgilerini vermeden önce uç nokta sahibinin uygun izinlere sahip olduğunu doğrular ve yetkisiz erişimi engeller.
Databricks dışı kaynaklar için, gizli bilgiler içeren ortam değişkenlerini deploy() adresine geçirin. Bkz . Model sunum uç noktalarındaki kaynaklara erişimi yapılandırma.
Gözden Geçirme Uygulamasını Etkinleştir Paydaşların temsilcinizle etkileşim kurabileceği ve geri bildirim sağlayabilecekleri bir web arabirimi sağlar. Bakınız: Mevcut izleri etiketleyerek geri bildirim ve beklentileri toplama.
Gerçek zamanlı izlemeyi etkinleştirme Tüm aracı etkileşimlerini bir MLflow denemesine gerçek zamanlı olarak günlüğe kaydeder ve izleme ve hata ayıklama için anında görünürlük sağlar.
  • Uç noktanızdaki izler, şu anda etkin olan MLflow deneyine yazılır ( mlflow.set_experiment() ile ayarlanır)
  • Uç noktadaki tüm aracılar izleme depolaması için aynı denemeyi paylaşır
  • İzlemeler ayrıca uzun süreli depolama için çıkarım tablolarına da yazılır
Üretim izlemeyi etkinleştirme (beta) Üretim trafiği üzerinde puanlayıcıların çalıştırılmasını sağlayan otomatik kalite değerlendirmesi yapılandırılır. Bkz. üretim izleme.
Çıkarım tablolarını etkinleştirme Denetim ve analiz için istek girişlerinin ve yanıtlarının kaydedilmesini sağlayan tablolar oluşturur.
REST API isteklerini kaydet ve uygulama geri bildirimlerini gözden geçir API isteklerini ve geri bildirimlerini bir çıkarım tablosuna kaydeder.
Uyarı:Geri bildirim modeli kullanım dışıdır ve gelecek bir sürümde kaldırılacaktır. Bunun yerine MLflow 3'e yükseltin ve API'yi log_feedback kullanın. Bkz. Kullanıcı geri bildirimi toplama.
  • Geri Bildirim Uygulaması'ndan geri bildirim kabul etmek ve kaydetmek için bir geri bildirim modeli oluşturun.
  • Bu model, dağıtılan aracınızın hizmet verdiği uç noktayla aynı CPU modeli kullanılarak sunulur.

MLflow 2

deploy() eylem Description
Model hizmet uç noktası oluştur Otomatik yük dengeleme ile aracınıza kullanıcıya yönelik uygulamalara hizmet veren ölçeklenebilir bir REST API uç noktası oluşturur.
Güvenli kimlik doğrulaması sağlama Aracınızın gereken en düşük izinlerle Databricks tarafından yönetilen kaynaklara (Vektör Arama dizinleri, Unity Kataloğu işlevleri vb.) erişmesine olanak sağlayan kısa süreli kimlik bilgilerini otomatik olarak sağlar.
Databricks, kimlik bilgilerini vermeden önce uç nokta sahibinin uygun izinlere sahip olduğunu doğrular ve yetkisiz erişimi engeller.
Databricks dışı kaynaklar için, gizli bilgiler içeren ortam değişkenlerini deploy() adresine geçirin. Bkz . Model sunum uç noktalarındaki kaynaklara erişimi yapılandırma.
Gözden Geçirme Uygulamasını Etkinleştir Paydaşların temsilcinizle etkileşim kurabileceği ve geri bildirim sağlayabilecekleri bir web arabirimi sağlar. Bakınız: Mevcut izleri etiketleyerek geri bildirim ve beklentileri toplama.
Çıkarım tablolarını etkinleştirme Denetim ve analiz için istek girişlerinin ve yanıtlarının kaydedilmesini sağlayan tablolar oluşturur.
Uyarı: İstek günlükleri ve değerlendirme günlükleri kullanım dışıdır ve gelecek bir sürümde kaldırılacaktır. Geçiş kılavuzu için bkz. istek günlükleri ve değerlendirme günlüklerinin kaldırılması.
REST API isteklerini kaydetme ve uygulama geri bildirimini inceleme (kullanım dışı) API isteklerini ve geri bildirimlerini bir çıkarım tablosuna kaydeder.
Uyarı:Geri bildirim modeli kullanım dışıdır ve gelecek bir sürümde kaldırılacaktır. Bunun yerine MLflow 3'e yükseltin ve API'yi log_feedback kullanın. Bkz. Kullanıcı geri bildirimi toplama.
  • Geri Bildirim Uygulaması'ndan geri bildirim kabul etmek ve kaydetmek için bir geri bildirim modeli oluşturun.
  • Bu model, dağıtılan aracınızın hizmet verdiği uç noktayla aynı CPU modeli kullanılarak sunulur.

Sonraki Adımlar