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.
Ważne
Ta funkcja jest dostępna w wersji beta. Administratorzy kont mogą kontrolować dostęp do tej funkcji ze strony podglądów konsoli konta. Zobacz Zarządzanie podglądami Azure Databricks.
Na tej stronie opisano, jak zadawać zapytania do endpointów Unity AI Gateway z użyciem obsługiwanych interfejsów API.
Requirements
- Usługa Unity AI Gateway w wersji zapoznawczej jest włączona dla twojego konta. Zobacz Zarządzanie podglądami Azure Databricks.
- Obszar roboczy Azure Databricks w regionie obsługiwanym przez Unity AI Gateway.
- Unity Catalog jest włączony dla obszaru roboczego. Zobacz Umożliwienie obszaru roboczego dla Unity Catalog.
Obsługiwane interfejsy API i integracje
Usługa Unity AI Gateway obsługuje następujące interfejsy 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.
- Agenci kodowania: integruj agentów kodowania z usługą Unity AI Gateway, aby dodać scentralizowany nadzór i monitorowanie do przepływów pracy programowania wspomaganego przez sztuczną inteligencję. Zobacz Integracja z agentami kodowania.
Wykonywanie zapytań dotyczących punktów końcowych za pomocą ujednoliconych interfejsów API
Ujednolicone interfejsy API oferują interfejs zgodny z interfejsem OpenAI do wykonywania zapytań dotyczących modeli w 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://<ai-gateway-url>/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="<ai-gateway-endpoint>",
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": "<ai-gateway-endpoint>",
"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://<ai-gateway-url>/mlflow/v1/chat/completions
Zastąp <ai-gateway-url> adresem URL bramy sieciowej Unity AI i <ai-gateway-endpoint> nazwą punktu końcowego bramy sieciowej Unity AI.
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://<ai-gateway-url>/mlflow/v1"
)
embeddings = client.embeddings.create(
input="What is Databricks?",
model="<ai-gateway-endpoint>"
)
print(embeddings.data[0].embedding)
interfejs API REST
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<ai-gateway-endpoint>",
"input": "What is Databricks?"
}' \
https://<ai-gateway-url>/mlflow/v1/embeddings
Zastąp <ai-gateway-url> adresem URL bramy Unity AI i <ai-gateway-endpoint> nazwą punktu końcowego Unity AI Gateway.
Interfejs API nadzorcy
Interfejs API Superwizora
API Nadzorcy (/mlflow/v1/responses) to zgodny z protokołem OpenResponses, niezależny od dostawcy API do tworzenia agentów w Wersji Beta. Administratorzy kont mogą włączyć dostęp ze strony Podglądy . Zobacz Zarządzanie podglądami 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://<ai-gateway-url>/mlflow/v1"
)
response = client.responses.create(
model="<ai-gateway-endpoint>",
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": "<ai-gateway-endpoint>",
"input": [
{"role": "user", "content": "What is Databricks?"}
]
}' \
https://<ai-gateway-url>/mlflow/v1/responses
Zastąp <ai-gateway-url> adresem URL bramy sztucznej inteligencji i <ai-gateway-endpoint> nazwą punktu końcowego bramy sztucznej inteligencji.
Wykonywanie zapytań dotyczących punktów końcowych 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.
API odpowiedzi OpenAI
Interfejs 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://<ai-gateway-url>/openai/v1"
)
response = client.responses.create(
model="<ai-gateway-endpoint>",
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": "<ai-gateway-endpoint>",
"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://<ai-gateway-url>/openai/v1/responses
Zastąp <ai-gateway-url> adresem URL bramy Unity AI Gateway i <ai-gateway-endpoint> nazwą punktu końcowego Unity AI Gateway.
Interfejs API komunikatów Anthropic
Interfejs API komunikatów antropicznych
Python
import anthropic
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = anthropic.Anthropic(
api_key="unused",
base_url="https://<ai-gateway-url>/anthropic",
default_headers={
"Authorization": f"Bearer {DATABRICKS_TOKEN}",
},
)
message = client.messages.create(
model="<ai-gateway-endpoint>",
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": "<ai-gateway-endpoint>",
"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://<ai-gateway-url>/anthropic/v1/messages
Zastąp <ai-gateway-url> adresem URL bramy Unity AI i <ai-gateway-endpoint> nazwą punktu końcowego bramy Unity AI.
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://<ai-gateway-url>/gemini",
headers={
"Authorization": f"Bearer {DATABRICKS_TOKEN}",
},
),
)
response = client.models.generate_content(
model="<ai-gateway-endpoint>",
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://<ai-gateway-url>/gemini/v1beta/models/<ai-gateway-endpoint>:generateContent
Zastąp <ai-gateway-url> adresem URL Unity AI Gateway i <ai-gateway-endpoint> nazwą punktu końcowego Unity AI Gateway.
Dalsze kroki
- Gateway AI Unity dla punktów końcowych LLM
- Konfigurowanie punktów końcowych bramy AI Unity
- Integracja z agentami kodowania
-
Interfejs API nadzorcy (beta) — uruchamianie wieloetatowych przepływów pracy agenta przy użyciu hostowanych narzędzi za pośrednictwem
/mlflow/v1/responses