Services voor modelquery's

Important

Deze functie bevindt zich in de bètaversie. Accountbeheerders kunnen de toegang tot deze functie beheren via de pagina Previews van de accountconsole. Zie Azure Databricks previews beheren.

Op deze pagina wordt beschreven hoe u query's uitvoert op modelservices in Unity Catalog met behulp van ondersteunde API's.

Requirements

Ondersteunde API's en integraties

Unity AI Gateway ondersteunt de volgende API's en integraties:

Modelservices opvragen met ai_query

U kunt de ai_query functie gebruiken om rechtstreeks vanuit SQL of Python query's uit te voeren op Azure Databricks geleverde modelservices. Hiermee kunt u informatie over gebruiksregistratie vastleggen voor uw batchinferentie-workloads.

Note

  • ai_queryondersteuning voor Unity AI Gateway is alleen beschikbaar voor Azure Databricks geleverde modelservices (bijvoorbeeld databricks-gpt-5-4 ofdatabricks-claude-sonnet-4). Modelservices die u in Unity AI Gateway maakt, worden nog niet ondersteund.
  • Alleen gebruiksregistratie geldt voor ai_query batchinferentie-workloads. Andere Unity AI Gateway-functies, zoals aanvraaglimieten, beveiligingsmaatregelen, inferentietabellen en terugvalopties, zijn niet van toepassing.

Om aan de slag te gaan:

  1. Schakel de preview-versie van Unity AI Gateway in voor uw account. Zie Azure Databricks previews beheren.
  2. Een query uitvoeren op een door Azure Databricks geleverde modelservice met behulp vanai_query:
SELECT ai_query(
  'databricks-gpt-5-4',
  'Summarize the following text: ' || text_column
) AS summary
FROM my_table
LIMIT 10

ai_query Aanvragen die via Azure Databricks geleverde modelservices worden gedaan, worden vastgelegd in de systeemtabel voor het bijhouden van gebruik (system.ai_gateway.usage). Deze aanvragen worden ook weergegeven in het ingebouwde gebruiksdashboard.

Zie ai_query voor de volledige ai_query syntaxis en parameterreferentie. Zie Use ai_queryvoor aanbevolen procedures en ondersteunde modellen.

Querymodelservices met geïntegreerde API's

Unified API's bieden een openAI-compatibele interface om query's uit te voeren op modellen in Azure Databricks. Gebruik geïntegreerde API's om naadloos te schakelen tussen modellen van verschillende providers zonder uw code te wijzigen.

Api voor voltooiing van MLflow-chat

Api voor voltooiing van MLflow-chat

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

Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte en <model-service> door de volledig gekwalificeerde naam van uw modelservice.

MLflow Embeddings-API

MLflow Embeddings API

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

Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte en <model-service> door de volledig gekwalificeerde naam van uw modelservice.

Supervisor-API

Supervisor API

De Supervisor-API (/mlflow/v1/responses) is een openresponses-compatibele, provideragnostische API voor het bouwen van agents in beta. Accountbeheerders kunnen toegang inschakelen vanaf de pagina Previews . Zie Azure Databricks previews beheren. Kies het beste model voor uw agentgebruiksscenario tussen providers, zonder dat u uw code hoeft te wijzigen.

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

Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte en <model-service> door de volledig gekwalificeerde naam van uw modelservice.

Query's uitvoeren op modelservices met systeemeigen API's

Systeemeigen API's bieden providerspecifieke interfaces om query's uit te voeren op modellen in Azure Databricks. Gebruik systeemeigen API's voor toegang tot de nieuwste providerspecifieke functies.

Elke systeemeigen API werkt alleen met modelservices waarvan het onderliggende model gebruikmaakt van de overeenkomende API-indeling:

  • Gebruik de Api voor OpenAI-antwoorden om query's uit te voeren op modelservices die worden ondersteund door GPT-modellen (OpenAI).
  • Gebruik de Anthropic Messages API om modelservices te bevragen die worden ondersteund door Claude-modellen.
  • Gebruik de Google Gemini-API om query's uit te voeren op modelservices die worden ondersteund door Gemini-modellen.

Als u een query wilt uitvoeren op een modelservice, ongeacht het onderliggende model, gebruikt u in plaats daarvan de geïntegreerde API's .

OpenAI-antwoorden-API

OpenAI-antwoorden-API

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

Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte en <model-service> door de volledig gekwalificeerde naam van uw modelservice.

Anthropic Messages-API

API voor Anthropic berichten

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

Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte en <model-service> door de volledig gekwalificeerde naam van uw modelservice.

Google Gemini-API

Google Gemini-API

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

Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte en <model-service> door de volledig gekwalificeerde naam van uw modelservice.

Tagaanvragen voor het bijhouden van gebruik

U kunt aangepaste sleutelwaardetags koppelen aan afzonderlijke aanvragen met behulp van de Databricks-Ai-Gateway-Request-Tags HTTP-header. Aanvraagtags worden gelogd in de kolom request_tags in zowel de systeemtabel gebruiksregistratie als de inferentietabellen, zodat u kosten kunt bijhouden, gebruik kunt toewijzen en analyses kunt filteren op basis van project, team, omgeving of een andere dimensie.

De headerwaarde moet een JSON-object zijn dat tekenreekssleutels toewijst aan tekenreekswaarden. Voorbeeld:

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

Gebruik de parameter extra_headers (Python) of geef de header rechtstreeks (REST API) door om tags toe te voegen aan een aanvraag:

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

Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte en <model-service> door de volledig gekwalificeerde naam van uw modelservice.

Volgende stappen