Consulta fornitori di modelli esterni (servizi di fornitori di modello)

Consulta i modelli tramite un Model Provider Service in Unity Gateway, che fornisce credenziali memorizzate e instrada la richiesta al provider esterno, così i chiamanti non gestiscono il segreto del provider.

Requisiti

Identifica un servizio di fornitura di modelli

Si seleziona un servizio provider di modelli per una richiesta con l'intestazione Databricks-Model-Provider-Service , impostato sul nome in tre parti del servizio:

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

Eseguire l'autenticazione con il token di Azure Databricks, non con le credenziali del provider. L'URL di base è l'URL dell'area di lavoro seguito da /ai-gateway.

Eseguire query sulle API supportate

I percorsi gestiti rendono disponibili l'API di ciascun fornitore tramite un percorso stabile del Gateway Unity. Unity Gateway fa da tramite tra la richiesta e il provider, applica criteri di governance come guardrail e limiti di frequenza e registra l'utilizzo. Questo è il modo consigliato per eseguire query su un servizio provider di modelli.

L'esempio seguente invia un completamento della chat tramite un servizio provider di modelli OpenAI usando il percorso OpenAI gestito. Poiché la richiesta utilizza l'API OpenAI Chat Completions, puoi puntare il client OpenAI all'URL base del Gateway Unity.

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."}]
  }'

Il percorso gestito chiamato dipende dall'API del provider:

API del provider Percorso gestito
OpenAI (completamenti della chat) /ai-gateway/openai/v1/chat/completions
OpenAI (risposte) /ai-gateway/openai/v1/responses
OpenAI (incorporamenti) /ai-gateway/openai/v1/embeddings
Anthropic (messaggi) /ai-gateway/anthropic/v1/messages
Gemini (genera contenuto) /ai-gateway/gemini/v1beta/models/<model>:generateContent
Gemini (generare contenuti con risposte in streaming) /ai-gateway/gemini/v1beta/models/<model>:streamGenerateContent

Il modello nel corpo della richiesta (o nel segmento di percorso Gemini) deve essere un modello consentito dal servizio provider di modelli.

Per Amazon Bedrock Mantle, seleziona il servizio del fornitore modello con l'intestazione Databricks-Model-Provider-Service e usa gli ID modello Mantle. Un fornitore Amazon Bedrock utilizza bedrock-runtime. Cambiare il percorso dell'API client o l'ID del modello non lo imposta su Mantle.

Interrogare altre API (inoltro)

Se un percorso gestito non copre un endpoint fornitore, come un file OpenAI o un endpoint batch, puoi trasmettere la richiesta al provider senza modifiche. Unity Gateway elimina il /ai-gateway prefisso, allega la credenziale memorizzata e inoltra il percorso rimanente al provider.

Per abilitare il pass-through non gestito, selezionare Inoltra tutti i percorsi URL in Opzioni avanzate quando si crea o si aggiorna il servizio provider di modelli nell'interfaccia utente.

Note

Il monitoraggio dei token di utilizzo e dei costi, i limiti di frequenza basati sui token, il controllo dell'accesso ai modelli e i criteri di servizio non si applicano alle richieste inoltrate.

Dopo aver abilitato la modalità pass-through, richiama il percorso nativo del provider sotto /ai-gateway. Ad esempio, elencare i file nell'endpoint dei file OpenAI:

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

Inoltro di intestazioni e parametri di query

Per impostazione predefinita, Unity Gateway non inoltra al provider a monte le intestazioni delle richieste del client né i parametri di query. Due flag di configurazione del servizio modificano questo valore e si applicano sia ai percorsi gestiti che non gestiti:

  • forward_headers: Quando true, Unity Gateway inoltra al provider gli header della richiesta del client. Abilita questo quando un provider richiede un'intestazione che Unity Gateway non imposta per te, come OpenAI-Organization.
  • forward_query_parameters: Quando true, Unity Gateway inoltra i parametri della query client al provider.

Impostarli nel servizio provider di modelli come qualsiasi altro campo di configurazione:

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 } }'

Passaggi successivi