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.
Odpytuj modele za pomocą Model Provider Service w Unity Gateway, który dostarcza przechowywane dane uwierzytelniające i kieruje żądanie do zewnętrznego dostawcy, aby wywołujący nie musieli obsługiwać sekretu dostawcy.
Requirements
- Uprawnienia przestrzeni roboczej do sprawdzenia: dostęp do przestrzeni roboczej lub dostęp konsumencki. Zobacz Zarządzanie uprawnieniami.
- Potrzebne są następujące uprawnienia. Zobacz Odnajdywanie i zarządzanie dostępem do zewnętrznych dostawców modeli (usługi dostawców modeli).
-
EXECUTEw usłudze dostawcy modeli -
USE CATALOGw katalogu -
USE SCHEMAw schemacie
-
Zidentyfikuj usługę dostawcy modelu
Usługę dostawcy modeli dla żądania wybiera się za pomocą nagłówka Databricks-Model-Provider-Service, ustawionego na trzyczęściową nazwę tej usługi:
Databricks-Model-Provider-Service: main.default.openai_prod
Uwierzytelnij się przy użyciu tokenu Azure Databricks, a nie poświadczeń dostawcy. Podstawowy adres URL to adres URL obszaru roboczego, po którym następuje /ai-gateway.
Sprawdź obsługiwane interfejsy API
Zarządzane ścieżki udostępniają API każdego dostawcy w ramach stabilnej ścieżki Unity Gateway. Unity Gateway pośredniczy między żądaniem a dostawcą, stosuje zasady nadzoru, takie jak zabezpieczenia i limity liczby żądań, oraz rejestruje użycie. Jest to zalecany sposób wysyłania zapytań do usługi dostawcy modeli.
Poniższy przykład wysyła uzupełnianie czatu za pośrednictwem usługi dostawcy modelu OpenAI przy użyciu zarządzanej ścieżki OpenAI. Ponieważ żądanie korzysta z API OpenAI Chat Completions, możesz skierować klienta OpenAI na bazowy adres URL Unity Gateway.
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."}]
}'
Ścieżka zarządzana, której używasz, zależy od interfejsu API dostawcy:
| API dostawcy | Ścieżka zarządzana |
|---|---|
| OpenAI (ukończenie czatu) | /ai-gateway/openai/v1/chat/completions |
| OpenAI (odpowiedzi) | /ai-gateway/openai/v1/responses |
| OpenAI (osadzanie) | /ai-gateway/openai/v1/embeddings |
| Anthropic (wiadomości) | /ai-gateway/anthropic/v1/messages |
| Bliźnięta (generuj zawartość) | /ai-gateway/gemini/v1beta/models/<model>:generateContent |
| Bliźnięta (generuj zawartość z odpowiedziami przesyłanymi strumieniowo) | /ai-gateway/gemini/v1beta/models/<model>:streamGenerateContent |
Model w treści żądania (lub segment ścieżki Gemini) musi być modelem, na który pozwala usługa dostawcy modelu.
Dla Amazon Bedrock Mantle wybierz usługę dostawcy modelu pod nagłówkiem Databricks-Model-Provider-Service i użyj identyfikatorów modeli Mantle. Dostawca Amazon Bedrock używa bedrock-runtime. Zmiana ścieżki API klienta lub ID modelu nie przełącza go na Mantle.
Wysyłanie zapytań do innych interfejsów API (przekazywanie dalej)
Jeśli zarządzana ścieżka nie obejmuje punktu końcowego dostawcy, takiego jak plik OpenAI lub punkt wsadowy, możesz przekazać żądanie do dostawcy bez zmian. Unity Gateway usuwa prefiks /ai-gateway , dołącza przechowywane dane uwierzytelniające i przekazuje pozostałą ścieżkę do dostawcy.
Aby włączyć niezarządzany tryb passthrough, podczas tworzenia lub aktualizowania usługi dostawcy modeli w interfejsie użytkownika wybierz w sekcji Opcje zaawansowane pozycję Przekazuj wszystkie ścieżki URL.
Note
Śledzenie wykorzystania tokenów i kosztów, limity szybkości zależne od liczby tokenów, kontrola dostępu do modelu oraz zasady dotyczące usługi nie mają zastosowania do żądań przekazywanych bez przetwarzania.
Po włączeniu trybu passthrough wywołaj natywną ścieżkę dostawcy pod /ai-gateway. Na przykład wyświetl pliki w endpointcie plików OpenAI:
curl https://<workspace-url>/ai-gateway/files \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Databricks-Model-Provider-Service: main.default.openai_prod"
Przekazywanie nagłówków i parametrów zapytania
Domyślnie Unity Gateway nie przekazuje nagłówków żądania klienta ani parametrów zapytania do dostawcy nadrzędnego. Dwie flagi konfiguracji usługi zmieniają to i mają zastosowanie zarówno do ścieżek zarządzanych, jak i niezarządzanych:
-
forward_headers: Gdytrue, Unity Gateway przekazuje nagłówki żądań klienta do dostawcy. Włącz tę opcję, gdy dostawca wymaga nagłówka, którego Unity Gateway nie ustawia automatycznie, takiego jakOpenAI-Organization. -
forward_query_parameters: Gdytrue, Unity Gateway przekazuje parametry zapytania klienta do dostawcy.
Ustaw je w usłudze dostawcy modelu, tak jak w przypadku dowolnego innego pola konfiguracji:
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 } }'