Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj Unity Gateway do wysyłania zapytań do usług modeli w Unity Catalog za pomocą interfejsów API modeli Azure Databricks, przy użyciu zestawu SDK zgodnego z OpenAI, natywnych interfejsów API dostawców lub języka SQL.
Note
Gdy usługa modelu kieruje żądania do miejsca docelowego usługi dostawcy modeli, obowiązują tylko funkcje Unity Gateway tej usługi (takie jak limity szybkości żądań, mechanizmy ochronne, tabele inferencji i mechanizmy awaryjne). Wszelkie funkcje Unity Gateway skonfigurowane w samej usłudze dostawcy modeli są pomijane.
Zacznij zapytywać API modeli
Zapytaj API modelu w dwóch krokach:
Krok 1: Wybierz gotowe do użycia API modelu
Azure Databricks udostępnia gotowe do użycia API modeli w schemaciesystem.ai, takie jak system.ai.claude-sonnet-4-5 i system.ai.gpt-5-6-sol. Są one dostępne od razu bez dodatkowego przygotowania.
Krok 2: Wyślij żądanie za pomocą zunifikowanego API kompatybilnego z OpenAI
Użyj MLflow Chat Completions API z OpenAI Python SDK:
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN, # your personal access token
base_url="https://<workspace-url>/ai-gateway/mlflow/v1" # your Databricks workspace instance
)
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "content": "What is Databricks?"},
],
model="system.ai.claude-sonnet-4-5",
max_tokens=256
)
print(chat_completion.choices[0].message.content)
Inne opcje znajdziesz w artykule Rozpoczęcie zapytań do LLM na Databricks.
Requirements
- Obszar roboczy usługi Azure Databricks w regionie obsługiwanym przez Unity Gateway.
- Katalog Unity włączony dla obszaru roboczego. Zobacz Umożliwienie obszaru roboczego dla Unity Catalog.
- Uprawnienia do zapytań w przestrzeni roboczej: dostęp do przestrzeni roboczej lub dostęp konsumencki z włączonym dostępem do podglądu Unity Gateway dla Twojego konta (podgląd publiczny). Zobacz Zarządzanie uprawnieniami i Zarządzanie wersjami zapoznawczymi Azure Databricks.
Obsługiwane interfejsy API i integracje
Unity Gateway obsługuje następujące API i integracje:
- Unified APIs: Interfejsy zgodne z interfejsami OpenAI do wykonywania zapytań dotyczących modeli w Azure Databricks. Bezproblemowo przełączaj się między modelami od różnych dostawców bez zmieniania sposobu wykonywania zapytań względem poszczególnych modeli.
- Natywne interfejsy API: interfejsy specyficzne dla dostawcy w celu uzyskania dostępu do najnowszych funkcji specyficznych dla modelu i dostawcy.
- Kodowanie agentów: Integruj swoich agentów kodujących z Unity Gateway, aby dodać scentralizowane zarządzanie i monitoring do swoich procesów programistycznych wspomaganych przez AI. Zobacz integracja agenta kodowania.
- Agenty w Databricks Apps: Twórz i wdrażaj agenty w Databricks Apps, które kierują ruchem LLM przez Unity Gateway. Zobacz Krok 4. Zarządzaj użyciem LLM przez swoich agentów w aplikacjach Databricks za pomocą Unity Gateway.
-
ai_query: Użyjai_query, aby wykonywać zapytania do usług modeli udostępnianych przez Azure Databricks z poziomu SQL lub języka Python do wnioskowania wsadowego. Zobacz Usługi modelu zapytań zai_query.
Wykonywanie zapytań dotyczących usług modelu za pomocą ujednoliconych interfejsów API
Ujednolicone interfejsy API oferują interfejs zgodny z interfejsem OpenAI do wykonywania zapytań dotyczących modeli w usłudze Azure Databricks. Ujednolicone interfejsy API umożliwiają bezproblemowe przełączanie modeli od różnych dostawców bez konieczności zmieniania kodu.
API uzupełniania czatów MLflow
Interfejs API do uzupełniania czatów MLflow
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)
interfejs API REST
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
Zastąp element <workspace-url> adresem URL obszaru roboczego usługi Azure Databricks, a element <model-service> w pełni kwalifikowaną nazwą usługi modelowej.
Interfejs API osadzania MLflow
Interfejs API osadzania MLflow
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)
interfejs API REST
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
Zastąp element <workspace-url> adresem URL obszaru roboczego usługi Azure Databricks, a element <model-service> w pełni kwalifikowaną nazwą usługi modelowej.
Interfejs API nadzorcy
Interfejs API Superwizora
API Nadzorcy () to zgodny z protokołem /mlflow/v1/responses, niezależny od dostawcy API do tworzenia agentów w Wersji Beta. Administratorzy przestrzeni roboczej mogą to włączyć ze strony Zapowiedzi . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks. Wybierz najlepszy model przypadku użycia agenta u dostawców bez konieczności zmieniania kodu.
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)
interfejs API REST
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
Zastąp element <workspace-url> adresem URL obszaru roboczego usługi Azure Databricks, a element <model-service> w pełni kwalifikowaną nazwą usługi modelowej.
Wykonywanie zapytań dotyczących usług modelu za pomocą polecenia ai_query
Możesz użyć tej ai_query funkcji do zapytań o usługi modelu bezpośrednio z SQL lub Python. Dzięki temu można przechwytywać informacje dotyczące śledzenia użycia dla obciążeń wnioskowania wsadowego.
Note
-
ai_querywsparcie dla Unity Gateway jest dostępne tylko dla modeli dostarczonych przez Azure Databricks. Przekaż nazwę usługi modelusystem.ai(na przykładsystem.ai.claude-sonnet-4-5lubsystem.ai.gpt-5-6-sol). Usługi modelowe, które tworzysz w Unity Gateway, nie są jeszcze wspierane. - Tylko śledzenie użycia dotyczy
ai_queryobciążeń wnioskowania wsadowego. Inne funkcje Unity Gateway, takie jak limity liczby żądań, zabezpieczenia, tabele inferencji i mechanizmy zapasowe, nie mają zastosowania.
Aby wysłać zapytanie do usługi modelu za pomocą ai_query, uruchom ai_query względem usługi modelu:
SELECT ai_query(
'system.ai.claude-sonnet-4-5',
'Summarize the following text: ' || text_column
) AS summary
FROM my_table
LIMIT 10
Tabela systemu śledzenia wykorzystania (system.ai_gateway.usage) rejestruje żądania przesyłane do ai_query usług modelowych. Te żądania pojawiają się również w wbudowanym panelu użycia.
Aby uzyskać pełną ai_query składnię i informacje o parametrach, zobacz ai_query funkcję. Aby poznać najlepsze praktyki i obsługiwane modele, zobacz Korzystanie z ai_query.
Wykonywanie zapytań dotyczących usług modelu za pomocą natywnych interfejsów API
Natywne interfejsy API oferują interfejsy specyficzne dla dostawcy, umożliwiające wykonywanie zapytań do modeli w Azure Databricks. Użyj natywnych interfejsów API, aby uzyskać dostęp do najnowszych funkcji specyficznych dla dostawcy.
Każdy natywny interfejs API działa tylko z usługami modelu, których bazowy model używa zgodnego formatu interfejsu API:
- Użyj interfejsu OpenAI Responses API, aby wysyłać zapytania do usług modeli opartych na modelach OpenAI (GPT).
- Użyj interfejsu API Anthropic Messages do wykonywania zapytań dotyczących usług modelu wspieranych przez modele Claude'a.
- Użyj interfejsu API Google Gemini do wykonywania zapytań dotyczących usług modelu wspieranych przez modele Gemini.
Aby wysłać zapytanie do usługi modelu niezależnie od jej podstawowego modelu, zamiast tego użyj ujednoliconych interfejsów API .
API odpowiedzi OpenAI
API odpowiedzi OpenAI
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)
interfejs API REST
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
Zastąp element <workspace-url> adresem URL obszaru roboczego usługi Azure Databricks, a element <model-service> w pełni kwalifikowaną nazwą usługi modelowej.
Interfejs API komunikatów Anthropic
interfejs API komunikatów Anthropic
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)
interfejs API REST
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
Zastąp element <workspace-url> adresem URL obszaru roboczego usługi Azure Databricks, a element <model-service> w pełni kwalifikowaną nazwą usługi modelowej.
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)
interfejs API REST
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
Zastąp element <workspace-url> adresem URL obszaru roboczego usługi Azure Databricks, a element <model-service> w pełni kwalifikowaną nazwą usługi modelowej.
Tagowanie żądań śledzenia użycia
Niestandardowe tagi klucz-wartość można dołączać do poszczególnych żądań przy użyciu nagłówka Databricks-Ai-Gateway-Request-Tags HTTP. Tagi żądań są rejestrowane w kolumnie request_tags zarówno w tabeli systemowej śledzenia użycia, jak i w tabelach inferencji, co umożliwia śledzenie kosztów, przypisywanie użycia i filtrowanie analiz według projektu, zespołu, środowiska lub dowolnego innego wymiaru.
Wartość nagłówka musi być obiektem JSON mapującym klucze będące ciągami znaków na wartości będące ciągami znaków. Przykład:
{ "project": "chatbot", "team": "ml-platform", "environment": "production" }
Użyj parametru extra_headers (Python) lub przekaż nagłówek bezpośrednio (interfejs API REST), aby dołączyć tagi do żądania:
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 (SDK Anthropic)
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?"},
],
)
interfejs API REST
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
Zastąp element <workspace-url> adresem URL obszaru roboczego usługi Azure Databricks, a element <model-service> w pełni kwalifikowaną nazwą usługi modelowej.