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.
Ta strona opisuje, jak wysyłać wejścia audio i wideo do modeli Gemini Foundation obsługiwanych przez Unity Gateway na Azure Databricks. Nośnik można przekazać jako adres URL lub dane wbudowane zakodowane w formacie base64, korzystając z interfejsu API Chat Completions lub interfejsu API Google Gemini.
Wymagania
- Zobacz wymagania dotyczące używania modeli podstawowych.
- Zainstaluj odpowiedni pakiet w klastrze na podstawie wybranej opcji klienta zapytań .
Metody wejściowe
Dane wejściowe audio i wideo można udostępniać przy użyciu dwóch metod:
- Adres URL: przekaż publicznie dostępny adres URL do pliku multimedialnego. W przypadku filmów wideo obsługiwane są również adresy URL w serwisie YouTube.
-
Dane wbudowane base64: Zakoduj plik jako ciąg base64 i przekaż go jako identyfikator URI danych (na przykład
data:video/mp4;base64,<encoded_data>).
Note
Poniższe przykłady opierają się na Unity Gateway i usługach modelowych. Jeśli używasz modelu obsługującego punkty końcowe zamiast usług modelu, zastąp nazwę usługi modelu nazwą punktu końcowego. Zobacz Szczegółową listę modeli obsługiwanych przez interfejsy API modeli bazowych Databricks, aby wyświetlić listę dostępnych modeli bazowych oraz nazwy usług modeli i punktów końcowych.
API Uzupełnień Czatów
Interfejs API do uzupełniania czatu umożliwia przekazywanie danych wejściowych audio i wideo. Użyj typów zawartości video_url i audio_url w tablicy messages, aby przekazać multimedia jako dane wejściowe. Każdy element zawartości zawiera url pole, które akceptuje internetowy adres URL lub identyfikator URI danych base64.
Dane wejściowe wideo
Python
import os
import base64
from openai import OpenAI
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('DATABRICKS_BASE_URL')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)
# Encode a local video file as base64
with open("video.mp4", "rb") as f:
video_b64 = base64.standard_b64encode(f.read()).decode("utf-8")
response = client.chat.completions.create(
model="system.ai.gemini-3-1-pro",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Summarize what happens in these videos."},
{
"type": "video_url",
"video_url": {"url": "https://example.com/sample-video.mp4"}
},
{
"type": "video_url",
"video_url": {"url": f"data:video/mp4;base64,{video_b64}"}
},
]
}],
max_tokens=1024
)
print(response.choices[0].message.content)
interfejs API REST
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.gemini-3-1-pro",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Summarize what happens in these videos."},
{
"type": "video_url",
"video_url": {"url": "https://example.com/sample-video.mp4"}
},
{
"type": "video_url",
"video_url": {"url": "data:video/mp4;base64,<base64_encoded_data>"}
}
]
}],
"max_tokens": 1024
}' \
https://<workspace_host>.databricks.com/ai-gateway/mlflow/v1/chat/completions
Dane wejściowe dźwięku
Python
import os
import base64
from openai import OpenAI
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('DATABRICKS_BASE_URL')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)
# Encode a local audio file as base64
with open("audio.mp3", "rb") as f:
audio_b64 = base64.standard_b64encode(f.read()).decode("utf-8")
response = client.chat.completions.create(
model="system.ai.gemini-3-1-pro",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Transcribe this audio and summarize the key points."},
{
"type": "audio_url",
"audio_url": {"url": "https://example.com/sample-audio.mp3"}
},
{
"type": "audio_url",
"audio_url": {"url": f"data:audio/mp3;base64,{audio_b64}"}
},
]
}],
max_tokens=1024
)
print(response.choices[0].message.content)
interfejs API REST
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.gemini-3-1-pro",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Transcribe this audio and summarize the key points."},
{
"type": "audio_url",
"audio_url": {"url": "https://example.com/sample-audio.mp3"}
},
{
"type": "audio_url",
"audio_url": {"url": "data:audio/mp3;base64,<base64_encoded_data>"}
}
]
}],
"max_tokens": 1024
}' \
https://<workspace_host>.databricks.com/ai-gateway/mlflow/v1/chat/completions
Google Gemini API
Użyj interfejsu API Google Gemini, aby przekazać nośnik jako inlineData(zakodowany base64) lub fileData(odwołanie do adresu URL) w tablicy parts.
Dane wejściowe wideo
Python
from google import genai
from google.genai import types
import base64
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = genai.Client(
api_key="databricks",
http_options=types.HttpOptions(
base_url="https://example.staging.cloud.databricks.com/serving-endpoints/gemini",
headers={
"Authorization": f"Bearer {DATABRICKS_TOKEN}",
},
),
)
# Encode a local video file as base64
with open("video.mp4", "rb") as f:
video_b64 = base64.standard_b64encode(f.read()).decode("utf-8")
response = client.models.generate_content(
model="databricks-gemini-3-1-pro",
contents=[
types.Content(
role="user",
parts=[
types.Part(text="Summarize what happens in these videos."),
types.Part(
file_data=types.FileData(
mime_type="video/mp4",
file_uri="https://example.com/sample-video.mp4",
)
),
types.Part(
inline_data=types.Blob(
mime_type="video/mp4",
data=video_b64,
)
),
],
),
],
config=types.GenerateContentConfig(
max_output_tokens=1024,
),
)
print(response.text)
interfejs API REST
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [
{"text": "Summarize what happens in these videos."},
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/sample-video.mp4"
}
},
{
"inlineData": {
"mimeType": "video/mp4",
"data": "<base64_encoded_data>"
}
}
]
}]
}' \
https://<workspace_host>.databricks.com/serving-endpoints/gemini/v1beta/models/databricks-gemini-3-1-pro:generateContent
Dane wejściowe dźwięku
Python
from google import genai
from google.genai import types
import base64
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = genai.Client(
api_key="databricks",
http_options=types.HttpOptions(
base_url="https://example.staging.cloud.databricks.com/serving-endpoints/gemini",
headers={
"Authorization": f"Bearer {DATABRICKS_TOKEN}",
},
),
)
# Encode a local audio file as base64
with open("audio.mp3", "rb") as f:
audio_b64 = base64.standard_b64encode(f.read()).decode("utf-8")
response = client.models.generate_content(
model="databricks-gemini-3-1-pro",
contents=[
types.Content(
role="user",
parts=[
types.Part(text="Transcribe this audio and summarize the key points."),
types.Part(
file_data=types.FileData(
mime_type="audio/mp3",
file_uri="https://example.com/sample-audio.mp3",
)
),
types.Part(
inline_data=types.Blob(
mime_type="audio/mp3",
data=audio_b64,
)
),
],
),
],
config=types.GenerateContentConfig(
max_output_tokens=1024,
),
)
print(response.text)
interfejs API REST
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [
{"text": "Transcribe this audio and summarize the key points."},
{
"fileData": {
"mimeType": "audio/mp3",
"fileUri": "https://example.com/sample-audio.mp3"
}
},
{
"inlineData": {
"mimeType": "audio/mp3",
"data": "<base64_encoded_data>"
}
}
]
}]
}' \
https://<workspace_host>.databricks.com/serving-endpoints/gemini/v1beta/models/databricks-gemini-3-1-pro:generateContent
Obsługiwane modele
Wejścia audio i wideo są obsługiwane przez następujące bazowe modele Gemini z rozliczaniem za token. Zobacz szczegółową listę modeli obsługiwanych przez Databricks Foundation Model APIs, aby sprawdzić dostępność w regionach.
databricks-gemini-3-1-prodatabricks-gemini-2-5-prodatabricks-gemini-3-1-flash-litedatabricks-gemini-3-flashdatabricks-gemini-2-5-flash
Ograniczenia
- Wejścia audio i wideo są dostępne tylko w bazowych modelach Gemini rozliczanych za token. Nie obsługiwane są punkty końcowe przydzielonej przepustowości.
- Wiele danych wejściowych audio lub wideo można uwzględnić w jednym żądaniu, ale duże pliki zwiększają opóźnienie i użycie tokenu.