Sorgu modeli hizmetleri

Important

Bu özellik Beta sürümündedir. Hesap yöneticileri bu özelliğe erişimi hesap konsolu Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.

Bu sayfada, desteklenen API'ler kullanılarak Unity Kataloğu'nda model hizmetlerinin nasıl sorgulandığı açıklanmaktadır.

Requirements

Desteklenen API'ler ve tümleştirmeler

Unity AI Gateway aşağıdaki API'leri ve tümleştirmeleri destekler:

ile model hizmetlerini sorgulama ai_query

Azure Databricks tarafından sağlanan model hizmetlerini doğrudan SQL’den veya Python’dan sorgulamak için ai_query işlevini kullanabilirsiniz. Bu, toplu çıkarım iş yükleriniz için kullanım izleme bilgilerini yakalamanıza olanak tanır.

Note

  • ai_queryUnity AI Gateway desteği yalnızca Azure Databricks tarafından sağlanan model hizmetlerinde (örneğin, databricks-gpt-5-4 veya databricks-claude-sonnet-4) kullanılabilir. Unity AI Gateway'de oluşturduğunuz model hizmetleri henüz desteklenmiyor.
  • Yalnızca kullanım izleme, ai_query toplu çıkarım iş yükleri için geçerlidir. Hız sınırları, korumalar, çıkarım tabloları ve geri dönüşler gibi diğer Unity AI Gateway özellikleri geçerli değildir.

Başlamak için:

  1. Hesabınız için Unity AI Gateway önizlemesini etkinleştirin. Bkz. Azure Databricks önizlemelerini yönetme.
  2. kullanarak ai_queryAzure Databricks tarafından sağlanan bir model hizmetini sorgulama:
SELECT ai_query(
  'databricks-gpt-5-4',
  'Summarize the following text: ' || text_column
) AS summary
FROM my_table
LIMIT 10

sağlanan Azure Databricks model hizmetlerine yapılan ai_query istekler kullanım izleme sistemi tablosunda (system.ai_gateway.usage ) yakalanır. Bu istekler , yerleşik kullanım panosunda da görünür.

Tam ai_query söz dizimi ve parametre başvurusu için bkz ai_query . işlev. En iyi uygulamalar ve desteklenen modeller için bkz. Kullanım ai_query.

Birleşik API'lerle model hizmetlerini sorgulama

Birleşik API'ler, Azure Databricks'te modelleri sorgulamak için OpenAI uyumlu bir arabirim sunar. Kodunuzu değiştirmeden farklı sağlayıcılardan gelen modeller arasında sorunsuz geçiş yapmak için birleşik API'leri kullanın.

MLflow Sohbet Tamamlamaları API'si

MLflow Sohbet Tamamlamaları API'si

Python

from openai import OpenAI
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
  api_key=DATABRICKS_TOKEN,
  base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)

chat_completion = client.chat.completions.create(
  messages=[
    {"role": "user", "content": "Hello!"},
    {"role": "assistant", "content": "Hello! How can I assist you today?"},
    {"role": "user", "content": "What is Databricks?"},
  ],
  model="<model-service>",
  max_tokens=256
)

print(chat_completion.choices[0].message.content)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model-service>",
    "max_tokens": 256,
    "messages": [
      {"role": "user", "content": "Hello!"},
      {"role": "assistant", "content": "Hello! How can I assist you today?"},
      {"role": "user", "content": "What is Databricks?"}
    ]
  }' \
  https://<workspace-url>/ai-gateway/mlflow/v1/chat/completions

<workspace-url> değerini Azure Databricks çalışma alanı URL’nizle ve <model-service> değerini model hizmetinizin tam nitelikli adıyla değiştirin.

MLflow Ekleme API'si

MLflow Ekleme API'si

Python

from openai import OpenAI
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
  api_key=DATABRICKS_TOKEN,
  base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)

embeddings = client.embeddings.create(
  input="What is Databricks?",
  model="<model-service>"
)

print(embeddings.data[0].embedding)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model-service>",
    "input": "What is Databricks?"
  }' \
  https://<workspace-url>/ai-gateway/mlflow/v1/embeddings

<workspace-url> değerini Azure Databricks çalışma alanı URL’nizle ve <model-service> değerini model hizmetinizin tam nitelikli adıyla değiştirin.

Gözetmen API'si

Gözetmen API'si

Gözetmen API'si (/mlflow/v1/responses), Beta'da aracı oluşturmak için OpenResponses uyumlu, sağlayıcıdan bağımsız bir API'dir. Hesap yöneticileri Önizlemeler sayfasından erişimi etkinleştirebilir. Bkz. Azure Databricks önizlemelerini yönetme. Kodunuzu değiştirmeden sağlayıcılar arasında aracı kullanım örneğiniz için en iyi modeli seçin.

Python

from openai import OpenAI
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
  api_key=DATABRICKS_TOKEN,
  base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)

response = client.responses.create(
  model="<model-service>",
  input=[{"role": "user", "content": "What is Databricks?"}]
)

print(response.output_text)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model-service>",
    "input": [
      {"role": "user", "content": "What is Databricks?"}
    ]
  }' \
  https://<workspace-url>/ai-gateway/mlflow/v1/responses

<workspace-url> değerini Azure Databricks çalışma alanı URL’nizle ve <model-service> değerini model hizmetinizin tam nitelikli adıyla değiştirin.

Yerel API'lerle model hizmetlerini sorgulama

Yerel API'ler, Azure Databricks'te modelleri sorgulamak için sağlayıcıya özgü arabirimler sunar. Sağlayıcıya özgü en son özelliklere erişmek için yerel API'leri kullanın.

Her yerel API yalnızca temel alınan model eşleşen API biçimini kullanan model hizmetleriyle çalışır:

  • OpenAI (GPT) modelleri tarafından desteklenen model hizmetlerini sorgulamak için OpenAI Yanıtları API'sini kullanın.
  • Claude modelleri tarafından desteklenen model hizmetlerini sorgulamak için Anthropic İletiler API'sini kullanın.
  • Gemini modelleri tarafından desteklenen model servislerini sorgulamak için Google Gemini API'sini kullanın.

Temel alınan modelden bağımsız olarak bir model hizmetini sorgulamak için bunun yerine birleşik API'leri kullanın.

OpenAI Yanıtları API'si

OpenAI Yanıtları API'si

Python

from openai import OpenAI
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
  api_key=DATABRICKS_TOKEN,
  base_url="https://<workspace-url>/ai-gateway/openai/v1"
)

response = client.responses.create(
  model="<model-service>",
  max_output_tokens=256,
  input=[
    {
      "role": "user",
      "content": [{"type": "input_text", "text": "Hello!"}]
    },
    {
      "role": "assistant",
      "content": [{"type": "output_text", "text": "Hello! How can I assist you today?"}]
    },
    {
      "role": "user",
      "content": [{"type": "input_text", "text": "What is Databricks?"}]
    }
  ]
)

print(response.output)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model-service>",
    "max_output_tokens": 256,
    "input": [
      {
        "role": "user",
        "content": [{"type": "input_text", "text": "Hello!"}]
      },
      {
        "role": "assistant",
        "content": [{"type": "output_text", "text": "Hello! How can I assist you today?"}]
      },
      {
        "role": "user",
        "content": [{"type": "input_text", "text": "What is Databricks?"}]
      }
    ]
  }' \
  https://<workspace-url>/ai-gateway/openai/v1/responses

<workspace-url> değerini Azure Databricks çalışma alanı URL’nizle ve <model-service> değerini model hizmetinizin tam nitelikli adıyla değiştirin.

Anthropic İletiler API

Anthropic Mesajlar API'si

Python

import anthropic
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = anthropic.Anthropic(
  api_key="unused",
  base_url="https://<workspace-url>/ai-gateway/anthropic",
  default_headers={
    "Authorization": f"Bearer {DATABRICKS_TOKEN}",
  },
)

message = client.messages.create(
  model="<model-service>",
  max_tokens=256,
  messages=[
    {"role": "user", "content": "Hello!"},
    {"role": "assistant", "content": "Hello! How can I assist you today?"},
    {"role": "user", "content": "What is Databricks?"},
  ],
)

print(message.content[0].text)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model-service>",
    "max_tokens": 256,
    "messages": [
      {"role": "user", "content": "Hello!"},
      {"role": "assistant", "content": "Hello! How can I assist you today?"},
      {"role": "user", "content": "What is Databricks?"}
    ]
  }' \
  https://<workspace-url>/ai-gateway/anthropic/v1/messages

<workspace-url> değerini Azure Databricks çalışma alanı URL’nizle ve <model-service> değerini model hizmetinizin tam nitelikli adıyla değiştirin.

Google Gemini API'si

Google Gemini API'si

Python

from google import genai
from google.genai import types
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = genai.Client(
  api_key="databricks",
  http_options=types.HttpOptions(
    base_url="https://<workspace-url>/ai-gateway/gemini",
    headers={
      "Authorization": f"Bearer {DATABRICKS_TOKEN}",
    },
  ),
)

response = client.models.generate_content(
  model="<model-service>",
  contents=[
    types.Content(
      role="user",
      parts=[types.Part(text="Hello!")],
    ),
    types.Content(
      role="model",
      parts=[types.Part(text="Hello! How can I assist you today?")],
    ),
    types.Content(
      role="user",
      parts=[types.Part(text="What is Databricks?")],
    ),
  ],
  config=types.GenerateContentConfig(
    max_output_tokens=256,
  ),
)

print(response.text)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "Hello!"}]
      },
      {
        "role": "model",
        "parts": [{"text": "Hello! How can I assist you today?"}]
      },
      {
        "role": "user",
        "parts": [{"text": "What is Databricks?"}]
      }
    ],
    "generationConfig": {
      "maxOutputTokens": 256
    }
  }' \
  https://<workspace-url>/ai-gateway/gemini/v1beta/models/<model-service>:generateContent

<workspace-url> değerini Azure Databricks çalışma alanı URL’nizle ve <model-service> değerini model hizmetinizin tam nitelikli adıyla değiştirin.

Kullanım izleme için etiket istekleri

HTTP üst bilgisini kullanarak Databricks-Ai-Gateway-Request-Tags tek tek isteklere özel anahtar-değer etiketleri ekleyebilirsiniz. İstek etiketleri hem request_tags sistemi tablosundaki hem de çıkarım tablolarındaki sütuna kaydedilir ve böylece maliyetleri izlemenize, kullanımı öznitelik etmenize ve analizlere projeye, ekibe, ortama veya başka herhangi bir boyuta göre filtre uygulamanıza olanak tanır.

Üst bilgi değeri, dize değerlerine dize anahtarlarını eşlemek için bir JSON nesnesi olmalıdır. Örneğin:

{ "project": "chatbot", "team": "ml-platform", "environment": "production" }

extra_headers parametresini (Python) kullanın veya bir isteğe etiket eklemek için üst bilgiyi doğrudan (REST API) geçirin:

Python (OpenAI SDK)

from openai import OpenAI
import json
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
  api_key=DATABRICKS_TOKEN,
  base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)

request_tags = {"project": "chatbot", "team": "ml-platform"}

chat_completion = client.chat.completions.create(
  messages=[
    {"role": "user", "content": "What is Databricks?"},
  ],
  model="<model-service>",
  max_tokens=256,
  extra_headers={
    "Databricks-Ai-Gateway-Request-Tags": json.dumps(request_tags)
  }
)

Python (Anthropic SDK)

import anthropic
import json
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

request_tags = {"project": "chatbot", "team": "ml-platform"}

client = anthropic.Anthropic(
  api_key="unused",
  base_url="https://<workspace-url>/ai-gateway/anthropic",
  default_headers={
    "Authorization": f"Bearer {DATABRICKS_TOKEN}",
    "Databricks-Ai-Gateway-Request-Tags": json.dumps(request_tags),
  },
)

message = client.messages.create(
  model="<model-service>",
  max_tokens=256,
  messages=[
    {"role": "user", "content": "What is Databricks?"},
  ],
)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -H 'Databricks-Ai-Gateway-Request-Tags: {"project": "chatbot", "team": "ml-platform"}' \
  -d '{
    "model": "<model-service>",
    "max_tokens": 256,
    "messages": [
      {"role": "user", "content": "What is Databricks?"}
    ]
  }' \
  https://<workspace-url>/ai-gateway/mlflow/v1/chat/completions

<workspace-url> değerini Azure Databricks çalışma alanı URL’nizle ve <model-service> değerini model hizmetinizin tam nitelikli adıyla değiştirin.

Sonraki Adımlar