Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd Unity AI Gateway för att göra frågor mot modelltjänster i Unity Catalog med Azure Databricks modell-API:er via OpenAI-kompatibla SDK:er, leverantörernas egna API:er eller SQL.
Note
När en modelltjänst leder till en modellleverantörs tjänstedestination gäller endast modelltjänstens Unity AI Gateway-funktioner (såsom hastighetsgränser, räcken, inferenstabeller och reservplan). Alla Unity AI Gateway-funktioner som har konfigurerats på själva modellleverantörens tjänst utelämnas.
Kom igång med att fråga modell-API:er
Fråga ett modell-API i två steg:
Steg 1: Välj ett färdigt modell-API
Azure Databricks tillhandahåller färdiga modell-API:er i schematsystem.ai, som system.ai.claude-sonnet-4-5 och system.ai.gpt-5-6-sol. Dessa finns tillgängliga direkt utan extra installation.
Steg 2: Skicka en förfrågan med det enhetliga OpenAI-kompatibla API:et
Använd MLflow Chat Completions API med 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)
För andra alternativ, se Kom igång med att fråga LLM:er på Databricks.
Requirements
- En Azure Databricks arbetsyta i en Unity AI Gateway-stödd region.
- Unity Catalog har aktiverats för din arbetsyta. Se Aktivera en arbetsyta för Unity Catalog.
- Workspace-behörighet för frågor: Workspace-åtkomst eller Konsumentåtkomst med Konsumentåtkomst till förhandsversionen av Unity AI Gateway aktiverad för ditt konto (Offentlig förhandsversion). Se Hantera rättigheter och Hantera Azure Databricks förhandsvisningar.
API:er och integreringar som stöds
Unity AI Gateway stöder följande API:er och integreringar:
- Enhetliga API:er: OpenAI-kompatibla gränssnitt för att fråga efter modeller i Azure Databricks. Växla sömlöst mellan modeller från olika leverantörer utan att ändra hur du kör frågor mot varje modell.
- Interna API:er: Providerspecifika gränssnitt för åtkomst till den senaste modellen och providerspecifika funktioner.
- Kodningsagenter: Integrera dina kodningsagenter med Unity AI Gateway för att lägga till centraliserad styrning och övervakning i dina AI-assisterade arbetsflöden för utveckling. Se integrering av kodningsagent.
- Agenter på Databricks Apps: Skapa och distribuera agenter i Databricks-appar som dirigerar LLM-trafik via Unity AI Gateway. Se Steg 4. Styra LLM-användning från dina agenter i Databricks-appar med Unity AI Gateway.
-
ai_query: Användai_queryför att fråga Azure Databricks tillhandahållna modelltjänster från SQL eller Python för batchinferens. Se Frågemodelltjänster medai_query.
Fråga efter modelltjänster med enhetliga API:er
Enhetliga API:er erbjuder ett OpenAI-kompatibelt gränssnitt för att fråga efter modeller i Azure Databricks. Använd enhetliga API:er för att sömlöst växla mellan modeller från olika leverantörer utan att ändra din kod.
API för slutförande av MLflow-chatt
API för slutförande av MLflow-chatt
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
Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta och <model-service> med det fullständigt kvalificerade namnet på modelltjänsten.
API för MLflow-inbäddningar
API för MLflow-inbäddningar
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
Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta och <model-service> med det fullständigt kvalificerade namnet på modelltjänsten.
API för övervakning
Api för övervakare
Supervisor API (/mlflow/v1/responses) är ett OpenResponses-kompatibelt, provideragnostiskt API för byggagenter i Beta. Workspace-administratörer kan aktivera det från sidan Förhandsvisningar . Se Hantera förhandsversioner av Azure Databricks. Välj den bästa modellen för ditt agentanvändningsfall mellan leverantörer, utan att ändra din kod.
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
Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta och <model-service> med det fullständigt kvalificerade namnet på modelltjänsten.
Fråga efter modelltjänster med ai_query
Du kan använda ai_query funktionen för att fråga modelltjänster direkt från SQL eller Python. På så sätt kan du samla in information om användningsspårning för batchinferensarbetsbelastningar.
Note
-
ai_querystöd för Unity AI Gateway är endast tillgängligt för modeller som tillhandahålls av Azure Databricks. Skicka slutpunktsnamnet för Azure Databricks grundmodell, som innehåller prefixetdatabricks-(till exempeldatabricks-claude-sonnet-4-5ellerdatabricks-gpt-5-6-sol), i stället för modelltjänstnamnetsystem.aisom används på andra ställen på sidan. Modelltjänster som du skapar i Unity AI Gateway stöds ännu inte. - Endast användningsspårning gäller för
ai_querybatchinferensarbetsbelastningar. Andra Unity AI Gateway-funktioner som hastighetsbegränsningar, skyddsräcken, slutsatsdragningstabeller och återställningar gäller inte.
För att fråga en modelltjänst med ai_query, kör ai_query mot en modelltjänst:
SELECT ai_query(
'databricks-claude-sonnet-4-5',
'Summarize the following text: ' || text_column
) AS summary
FROM my_table
LIMIT 10
Tabellen för användningsspårningssystemet (system.ai_gateway.usage) fångar förfrågningar som skickas vidare ai_query till modelleringstjänster. Dessa begäranden visas också i den inbyggda instrumentpanelen för användning.
Fullständig ai_query syntax och parameterreferens finns i ai_query funktion. För bästa praxis och modeller som stöds, se Använd ai_query.
Fråga efter modelltjänster med interna API:er
Interna API:er erbjuder providerspecifika gränssnitt för att fråga efter modeller i Azure Databricks. Använd interna API:er för att få åtkomst till de senaste providerspecifika funktionerna.
Varje internt API fungerar endast med modelltjänster vars underliggande modell använder det matchande API-formatet:
- Använd OpenAI Responses-API:et för att fråga efter modelltjänster som backas upp av OpenAI-modeller (GPT).
- Använd Anthropic Messages API för att anropa modelltjänster som bygger på Claude-modeller.
- Använd Google Gemini API för att fråga efter modelltjänster som backas upp av Gemini-modeller.
Om du vill köra frågor mot en modelltjänst oavsett dess underliggande modell använder du de enhetliga API:erna i stället.
Api för OpenAI-svar
OpenAI API för svar
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
Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta och <model-service> med det fullständigt kvalificerade namnet på modelltjänsten.
API för Anthropic-meddelanden
API för Anthropic-meddelanden
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
Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta och <model-service> med det fullständigt kvalificerade namnet på modelltjänsten.
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
Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta och <model-service> med det fullständigt kvalificerade namnet på modelltjänsten.
Märk begäranden för användningsspårning
Du kan koppla anpassade nyckel/värde-taggar till enskilda begäranden med hjälp av Databricks-Ai-Gateway-Request-Tags HTTP-huvudet. Begärandetaggar loggas till request_tags kolumnen i både systemtabellen för användningsspårning och slutsatsdragningstabeller, så att du kan spåra kostnader, attributanvändning och filteranalys efter projekt, team, miljö eller någon annan dimension.
Huvudvärdet måste vara ett JSON-objekt som mappar strängnycklar till strängvärden. Ett exempel:
{ "project": "chatbot", "team": "ml-platform", "environment": "production" }
Använd parametern extra_headers (Python) eller ange rubriken direkt (REST API) för att lägga till taggar i en begäran:
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
Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta och <model-service> med det fullständigt kvalificerade namnet på modelltjänsten.