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, temel modelleri dağıtıp sunan model hizmet uç noktaları oluşturmayı öğreneceksiniz.
Model Sunma aşağıdaki modelleri destekler:
- Dış modeller. Bunlar Databricks dışında barındırılan temel modellerdir. Dış modellere hizmet veren uç noktalar merkezi olarak yönetilebilir ve müşteriler bunlar için hız sınırları ve erişim denetimi oluşturabilir. Örnek olarak OpenAI GPT-4 ve Antropik Claude gibi temel modeller verilebilir.
- Temel Model API'leri tarafından kullanıma sunulan en yeni açık temel modeller. Bu modeller, iyileştirilmiş çıkarımları destekleyen, seçilmiş temel model mimarileridir. Meta-Llama-3.3-70B-Instruct ve GTE-Large gibi temel modeller, token başına ödeme fiyatlandırmasıyla anında kullanılabilir. Temel veya hassas modeller kullanılarak üretim iş yükleri, sağlanan aktarım hızı kullanılarak performans garantileri ile dağıtılabilir.
Model Sunma, uç nokta oluşturmaya hizmet eden model için aşağıdaki seçenekleri sağlar:
- Sunum Kullanıcı Arabirimi
- REST API
- MLflow Dağıtımları SDK'sı
Geleneksel ML veya Python modellerine hizmet veren uç noktalar oluşturmak için bkz. Uç noktaları sunan özel model oluşturma.
Gereksinimler
- Desteklenen bir bölgedeki Databricks çalışma alanı.
- MLflow Dağıtımları SDK'sını kullanarak uç noktalar oluşturmak için MLflow Dağıtım istemcisini yüklemeniz gerekir. Yüklemek için şunu çalıştırın:
import mlflow.deployments
client = mlflow.deployments.get_deploy_client("databricks")
Uç nokta sunan bir temel model oluşturma
Temel Model API'leri tarafından sağlanan aktarım hızı kullanılarak kullanıma sunulan temel modellerin ince ayarlı varyantlarına hizmet veren bir uç nokta oluşturabilirsiniz. Bkz REST API kullanarak sağlanan aktarım hızı uç noktanızı oluşturma.
Temel Model API'leri belirteç başına ödeme kullanılarak kullanıma sunulan temel modeller için Databricks, Databricks çalışma alanınızda desteklenen modellere erişmek için otomatik olarak belirli uç noktalar sağlar. Bunlara erişmek için çalışma alanının sol kenar çubuğundaki Sunum sekmesini seçin. Temel Model API'leri Uç Noktalar liste görünümünün en üstünde bulunur.
Bu uç noktaları sorgulamak için bkz. Temel modelleri kullanma.
Uç nokta sunan dış model oluşturma
Aşağıda, Databricks dış modelleri kullanılarak kullanıma sunulan temel modeli sorgulayan bir uç noktanın nasıl oluşturulacağı açıklanmaktadır.
Kullanıcı arabirimi sunma
- Ad alanında uç noktanız için bir ad girin.
-
Sunulan varlıklar bölümünde
- Varlık alanına tıklayarak Sunulan varlık seçin formunu açın.
- Temel modeller'i seçin.
- Temel model seçin alanında, Dış model sağlayıcıları altında listelenenlerden kullanmak istediğiniz model sağlayıcısını seçin. Form, model sağlayıcı seçiminize göre dinamik olarak güncelleştirilir.
- Onayla'yı tıklatın.
- Seçili model sağlayıcısına erişmek için yapılandırma ayrıntılarını sağlayın. Bu genellikle uç noktanın bu modele erişim sağlamak için kullanmasını istediğiniz kişisel erişim belirtecine işaret eden gizli anahtardır.
- Görevi seçin. Kullanılabilir görevler sohbet, tamamlama ve ekleme işlemleridir.
- Kullanmak istediğiniz dış modelin adını seçin. Model listesi, görev seçiminize göre dinamik olarak güncelleştirilir. Kullanılabilir dış modellere bakın.
- Oluştur’a tıklayın. Sunum uç noktaları sayfası, Sunum uç noktası durumu Hazır Değil olarak görünür.
REST API
Önemli
Dış modellere hizmet veren sunum uç noktaları oluşturmaya yönelik REST API parametreleri Genel Önizleme aşamasındadır.
Aşağıdaki örnek, OpenAI tarafından sağlanan modelin ilk sürümüne text-embedding-ada-002 hizmet veren bir uç nokta oluşturur.
Uç nokta yapılandırma parametreleri için POST /api/2.0/serving-endpoints bakın.
{
"name": "openai_endpoint",
"config":
{
"served_entities":
[
{
"name": "openai_embeddings",
"external_model":{
"name": "text-embedding-ada-002",
"provider": "openai",
"task": "llm/v1/embeddings",
"openai_config":{
"openai_api_key": "{{secrets/my_scope/my_openai_api_key}}"
}
}
}
]
},
"rate_limits": [
{
"calls": 100,
"key": "user",
"renewal_period": "minute"
}
],
"tags": [
{
"key": "team",
"value": "gen-ai"
}
]
}
Aşağıda örnek bir yanıt verilmiştir.
{
"name": "openai_endpoint",
"creator": "user@email.com",
"creation_timestamp": 1699617587000,
"last_updated_timestamp": 1699617587000,
"state": {
"ready": "READY"
},
"config": {
"served_entities": [
{
"name": "openai_embeddings",
"external_model": {
"provider": "openai",
"name": "text-embedding-ada-002",
"task": "llm/v1/embeddings",
"openai_config": {
"openai_api_key": "{{secrets/my_scope/my_openai_api_key}}"
}
},
"state": {
"deployment": "DEPLOYMENT_READY",
"deployment_state_message": ""
},
"creator": "user@email.com",
"creation_timestamp": 1699617587000
}
],
"traffic_config": {
"routes": [
{
"served_model_name": "openai_embeddings",
"traffic_percentage": 100
}
]
},
"config_version": 1
},
"tags": [
{
"key": "team",
"value": "gen-ai"
}
],
"id": "69962db6b9db47c4a8a222d2ac79d7f8",
"permission_level": "CAN_MANAGE",
"route_optimized": false
}
MLflow Dağıtımları SDK'sı
Aşağıda, OpenAI text-embedding-ada-002ile eklemeler için bir uç nokta oluşturulur.
Dış model uç noktaları için, kullanmak istediğiniz model sağlayıcısı için API anahtarları sağlamanız gerekir. İstek ve yanıt şeması ayrıntıları için REST API'de POST /api/2.0/serving-endpoints bölümüne bakın. OpenAI modellerini sorgulamak için dış model uç noktaları oluşturma konulu adım adım kılavuz için bkz Eğitim: OpenAI modellerini sorgulamak için dış model uç noktaları oluşturma.
Ayrıca, yapılandırmanın task bölümündeki external_model alanı tarafından belirtildiği gibi, tamamlamalar ve sohbet görevleri için uç noktalar oluşturabilirsiniz. Her görev için desteklenen modeller ve sağlayıcılar için bkz. Model Sunma'da dış modeller .
from mlflow.deployments import get_deploy_client
client = get_deploy_client("databricks")
endpoint = client.create_endpoint(
name="chat",
config={
"served_entities": [
{
"name": "completions",
"external_model": {
"name": "gpt-4",
"provider": "openai",
"task": "llm/v1/chat",
"openai_config": {
"openai_api_key": "{{secrets/scope/key}}",
},
},
}
],
},
)
assert endpoint == {
"name": "chat",
"creator": "alice@company.com",
"creation_timestamp": 0,
"last_updated_timestamp": 0,
"state": {...},
"config": {...},
"tags": [...],
"id": "88fd3f75a0d24b0380ddc40484d7a31b",
}
Uç noktaları sunan modeli güncelleştirme
Model uç noktasını etkinleştirdikten sonra işlem yapılandırmasını istediğiniz gibi ayarlayabilirsiniz. Modeliniz için ek kaynaklara ihtiyacınız varsa bu yapılandırma özellikle yararlıdır. İş yükü boyutu ve işlem yapılandırması, modelinize hizmet etmek için hangi kaynakların ayrıldığında önemli bir rol oynar.
Yeni yapılandırma hazır olana kadar eski yapılandırma, tahmin trafiği sunmaya devam eder. Devam eden bir güncelleştirme olsa da başka bir güncelleştirme yapılamaz. Sunum kullanıcı arabiriminde, uç noktanın ayrıntılar sayfasının sağ üst kısmındaki güncelleştirmeyi iptal et'i seçerek devam eden bir yapılandırma güncelleştirmesini iptal edebilirsiniz. Bu işlev yalnızca Sunum Kullanıcı Arabirimi'nde kullanılabilir.
bir external_model uç nokta yapılandırmasında mevcut olduğunda, sunulan varlıklar listesinde yalnızca bir served_entity nesnesi olabilir. Var olan external_model içeren uç noktalar external_model'a sahip olmayacak şekilde artık güncellenemez. Uç nokta olmadan external_modeloluşturulduysa, bunu bir external_modeleklemek için güncelleştiremezsiniz.
REST API
Uç noktanızı güncelleştirmek için istek ve yanıt şeması ayrıntıları için REST API güncelleştirme yapılandırma belgelerine bakın.
{
"name": "openai_endpoint",
"served_entities":
[
{
"name": "openai_chat",
"external_model":{
"name": "gpt-4",
"provider": "openai",
"task": "llm/v1/chat",
"openai_config":{
"openai_api_key": "{{secrets/my_scope/my_openai_api_key}}"
}
}
}
]
}
MLflow Dağıtımları SDK'sı
Uç noktanızı güncelleştirmek için istek ve yanıt şeması ayrıntıları için REST API güncelleştirme yapılandırma belgelerine bakın.
from mlflow.deployments import get_deploy_client
client = get_deploy_client("databricks")
endpoint = client.update_endpoint_config(
endpoint="chat",
config={
"served_entities": [
{
"name": "chats",
"external_model": {
"name": "gpt-4",
"provider": "openai",
"task": "llm/v1/chat",
"openai_config": {
"openai_api_key": "{{secrets/scope/key}}",
},
},
}
],
},
)
assert endpoint == {
"name": "chats",
"creator": "alice@company.com",
"creation_timestamp": 0,
"last_updated_timestamp": 0,
"state": {...},
"config": {...},
"tags": [...],
"id": "88fd3f75a0d24b0380ddc40484d7a31b",
}
rate_limits = client.update_endpoint_rate_limits(
endpoint="chat",
config={
"rate_limits": [
{
"key": "user",
"renewal_period": "minute",
"calls": 10,
}
],
},
)
assert rate_limits == {
"rate_limits": [
{
"key": "user",
"renewal_period": "minute",
"calls": 10,
}
],
}