Abfrage externer Modellanbieter (Modellanbieterdienste)

Modelle werden über einen Model Provider Service im Unity Gateway abgefragt, der gespeicherte Anmeldeinformationen bereitstellt und die Anfrage an den externen Anbieter weiterleitet, sodass Aufrufer das Anbietergeheimnis nicht verwalten.

Requirements

Identifizieren eines Modellanbieterdiensts

Sie wählen einen Modellanbieterdienst für eine Anforderung mit dem Header Databricks-Model-Provider-Service aus, der auf den dreiteiligen Namen des Diensts festgelegt ist:

Databricks-Model-Provider-Service: main.default.openai_prod

Authentifizieren Sie sich mit Ihrem Azure Databricks-Token, nicht mit den Anmeldeinformationen des Anbieters. Die Basis-URL ist Ihre Arbeitsbereichs-URL, gefolgt von /ai-gateway.

Unterstützte APIs abfragen

Verwaltete Pfade stellen die API jedes Anbieters unter einem stabilen Unity-Gateway-Pfad zur Verfügung. Unity Gateway übersetzt zwischen der Anfrage und dem Anbieter, wendet Governance wie Leitplanken und Ratenbegrenzungen an und zeichnet die Nutzung auf. Dies ist die empfohlene Methode zum Abfragen eines Modellanbieterdiensts.

Im folgenden Beispiel wird mit dem verwalteten OpenAI-Pfad ein Chatabschluss über einen OpenAI-Modellanbieterdienst gesendet. Da die Anfrage die OpenAI Chat Completions API verwendet, können Sie den OpenAI-Client auf die Unity Gateway-Basis-URL verweisen.

Python

from openai import OpenAI

client = OpenAI(
    api_key="<databricks-token>",
    base_url="https://<workspace-url>/ai-gateway/openai/v1",
    default_headers={"Databricks-Model-Provider-Service": "main.default.openai_prod"},
)

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Say hello in exactly 3 words."}],
)
print(response.choices[0].message.content)

REST

curl https://<workspace-url>/ai-gateway/openai/v1/chat/completions \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H "Databricks-Model-Provider-Service: main.default.openai_prod" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Say hello in exactly 3 words."}]
  }'

Der verwaltete Pfad, den Sie aufrufen, hängt von der API des Anbieters ab:

Anbieter-API Verwalteter Pfad
OpenAI (Chat-Fertigstellungen) /ai-gateway/openai/v1/chat/completions
OpenAI (Antworten) /ai-gateway/openai/v1/responses
OpenAI (Einbettungen) /ai-gateway/openai/v1/embeddings
Anthropic (Nachrichten) /ai-gateway/anthropic/v1/messages
Gemini (Generieren von Inhalten) /ai-gateway/gemini/v1beta/models/<model>:generateContent
Gemini (Generieren von Inhalten mit Streamingantworten) /ai-gateway/gemini/v1beta/models/<model>:streamGenerateContent

Das Modell im Anforderungstext (oder das Segment des Gemini-Pfads) muss ein Modell sein, das der Modellanbieterdienst zulässt.

Für Amazon Bedrock Mantle wählen Sie den Modellanbieter-Service mit dem Databricks-Model-Provider-Service Header aus und verwenden Sie Mantle-Modell-IDs. Ein Amazon Bedrock-Anbieter verwendet bedrock-runtime. Das Ändern des Client-API-Pfads oder der Modell-ID schaltet es nicht auf Mantle um.

Andere APIs abfragen (Passthrough)

Wenn ein verwalteter Pfad keinen Provider-Endpunkt abdeckt, wie etwa eine OpenAI-Datei oder einen Batch-Endpunkt, können Sie die Anfrage unverändert an den Anbieter weiterleiten. Unity Gateway entfernt das /ai-gateway Präfix, hängt die gespeicherte Zugangsdaten an und leitet den verbleibenden Pfad an den Anbieter weiter.

Um nicht verwaltetes Passthrough zu aktivieren, wählen Sie beim Erstellen oder Aktualisieren des Modellanbieterdienstes in der UI unter Erweiterte Optionen die Option Alle URL-Pfade weiterleiten aus.

Note

Nutzungs-Token und Kostenverfolgung, tokenbasierte Ratenlimits, Modellzugriffssteuerung und Dienstrichtlinien gelten nicht für Passthrough-Anfragen.

Rufen Sie nach dem Aktivieren von Passthrough den nativen Pfad des Anbieters unter /ai-gateway auf. Listen Sie beispielsweise Dateien über den OpenAI-Dateiendpunkt auf:

curl https://<workspace-url>/ai-gateway/files \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H "Databricks-Model-Provider-Service: main.default.openai_prod"

Weiterleitung von Headern und Abfrageparametern

Standardmäßig übergibt Unity Gateway weder die Anforderungsheader noch Abfrageparameter des Clients an den Upstream-Provider. Zwei Dienstkonfigurationskennzeichnungen ändern dies, und sie gelten sowohl für verwaltete als auch für nicht verwaltete Pfade:

  • forward_headers: Wenn true, leitet das Unity Gateway die Anfrage-Header des Clients an den Anbieter weiter. Aktivieren Sie dies, wenn ein Anbieter einen Header verlangt, den Unity Gateway nicht für Sie eingestellt hat, wie zum Beispiel OpenAI-Organization.
  • forward_query_parameters: Wenn true, leitet Unity Gateway Client-Abfrageparameter an den Anbieter weiter.

Legen Sie sie für den Modellanbieterdienst wie jedes andere Konfigurationsfeld fest:

curl https://<workspace-url>/api/2.1/unity-catalog/model-provider-services/main.default.openai_prod \
  -X PATCH \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H "Content-Type: application/json" \
  -G \
  --data-urlencode "update_mask=config.forward_headers,config.forward_query_parameters" \
  --data '{ "config": { "forward_headers": true, "forward_query_parameters": true } }'

Nächste Schritte