Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
- Unity AI Gateway Preview ingeschakeld voor uw account. Zie Azure Databricks previews beheren.
- Een Azure Databricks-werkruimte in een Unity AI Gateway-ondersteunde regio.
- Unity Catalog ingeschakeld voor uw werkruimte. Zie Een werkruimte inschakelen voor Unity Catalog.
Ondersteunde API's en integraties
Unity AI Gateway ondersteunt de volgende API's en integraties:
- Unified API's: OpenAI-compatibele interfaces om query's uit te voeren op modellen in Azure Databricks. Naadloos schakelen tussen modellen van verschillende providers zonder dat u de query op elk model wijzigt.
- Systeemeigen API's: providerspecifieke interfaces voor toegang tot de nieuwste model- en providerspecifieke functies.
- Codeeragents: integreer uw coderingsagents met Unity AI Gateway om gecentraliseerde governance en bewaking toe te voegen aan uw ai-ondersteunde ontwikkelwerkstromen. Zie integratie van coderingsagent.
- Agents op Databricks Apps: Maak en implementeer agents op Databricks Apps die LLM-verkeer via Unity AI Gateway routeren. Zie stap 4. Beheer het LLM-gebruik van uw agents in Databricks-apps met Unity AI Gateway.
-
ai_query: Gebruikai_queryom door Azure Databricks geleverde modelservices vanuit SQL of Python te bevragen voor batchinferentie. Bekijk querymodelservices metai_query.
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 (bijvoorbeelddatabricks-gpt-5-4ofdatabricks-claude-sonnet-4). Modelservices die u in Unity AI Gateway maakt, worden nog niet ondersteund. - Alleen gebruiksregistratie geldt voor
ai_querybatchinferentie-workloads. Andere Unity AI Gateway-functies, zoals aanvraaglimieten, beveiligingsmaatregelen, inferentietabellen en terugvalopties, zijn niet van toepassing.
Om aan de slag te gaan:
- Schakel de preview-versie van Unity AI Gateway in voor uw account. Zie Azure Databricks previews beheren.
- Een query uitvoeren op een door Azure Databricks geleverde modelservice met behulp van
ai_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.