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.
DOTYCZY: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2
W Azure API Management można utworzyć ujednolicony interfejs API modelu, aby uwidocznić wiele zapleczy LLM za pośrednictwem jednego punktu końcowego dostępnego dla klienta. Aplikacje klienckie korzystają z jednego znanego formatu API — OpenAI Chat Completions API — podczas gdy usługa API Management automatycznie tłumaczy żądania dla modeli backendowych przy użyciu OpenAI Chat Completions API lub Anthropic Messages API.
Note
Ujednolicony interfejs API modeli jest obecnie dostępny w wersji zapoznawczej i jest stopniowo udostępniany klientom. W klasycznych warstwach wczesny dostęp do tej funkcji można uzyskać za pośrednictwem kanału wersji wczesnej AI Gateway.
Centralizując dostęp do modeli za pośrednictwem jednej warstwy interfejsu API, możesz:
- Standaryzacja w jednym formacie interfejsu API dla klientów niezależnie od formatów używanych przez modele zaplecza.
- Ujednolić obserwowalność, bezpieczeństwo i nadzór za pomocą zasad obejmujących dostawców modeli.
- Skonfiguruj przełączanie awaryjne modeli u różnych dostawców modeli.
- Oddziel nazwy modeli widoczne dla klienta od nazw modeli backendowych za pomocą aliasów.
Aby dowiedzieć się więcej o zarządzaniu interfejsami API AI w usłudze API Management, zobacz Możliwości bramy AI w usłudze Azure API Management.
Obsługiwane zaplecza
Ujednolicony interfejs API modeli obsługuje następujące formaty interfejsów API zaplecza:
- Interfejs API kompletacji czatu OpenAI
- Interfejs API komunikatów antropicznych
Wymagania wstępne
- Istniejąca instancja usługi API Management. Stwórz taki, jeśli jeszcze tego nie zrobiłeś.
- Co najmniej jedno wdrożenie modelu w obsługiwanym zapleczu.
- Aby śledzić użycie tokenów przez API, informacje o wymaganiach wstępnych znajdziesz w sekcji Emitowanie metryk niestandardowych.
- Aby wymusić kontrole bezpieczeństwa zawartości w interfejsie API, zobacz Wymuszanie kontroli bezpieczeństwa zawartości dla żądań LLM pod kątem wymagań wstępnych.
Tworzenie ujednoliconego interfejsu API modelu — portal Azure
Wykonaj poniższe kroki, aby utworzyć ujednolicony interfejs API modelu w usłudze API Management.
Podczas tworzenia interfejsu API usługa API Management automatycznie konfiguruje:
- Punkt
/modelskońcowy odnajdywania modeli zawierający listę wszystkich skonfigurowanych modeli. - Pojedynczy punkt końcowy routingu, taki jak
/llm/v1/chat/completions, który akceptuje żądania w formacie OpenAI Chat Completions. - Formatuj logikę tłumaczenia dla każdego dodawanego modelu zaplecza.
- Zasoby zaplecza, które kierują żądania do poprawnego punktu końcowego dostawcy.
Aby utworzyć ujednolicony interfejs API modelu:
W portalu Azure przejdź do swojej instancji API Management.
W menu paska bocznego w obszarze Interfejsy API wybierz pozycję Modele>+ Dodaj>ujednolicony interfejs API modelu.
Na karcie Konfiguracja interfejsu Unified Model API:
- Wprowadź nazwę wyświetlaną interfejsu API. Usługa API Management automatycznie generuje nazwę interfejsu API na podstawie nazwy wyświetlanej, ale możesz ją edytować, jeśli chcesz.
- W obszarze Ścieżka interfejsu API wprowadź ścieżkę używaną przez klientów do wywoływania interfejsu API. Wartość domyślna to
/llm/v1, co powoduje zakończenie czatu w punkcie końcowym na stronie/llm/v1/chat/completions. - Opcjonalnie wybierz co najmniej jeden produkt do skojarzenia z interfejsem API.
- Wybierz Dalej.
Na karcie Konfigurowanie modeli wybierz pozycję + Dodaj , aby otworzyć okienko Dodaj model , a następnie skonfiguruj następujące ustawienia dla każdego wdrożenia modelu:
W obszarze Konfiguracja zaplecza:
- W obszarze Model wprowadź nazwę modelu zaplecza (na przykład
gpt-4olubclaude-sonnet-4.6). - W formacie API wybierz format oczekiwany przez model backendowy, na przykład OpenAI Chat Completions API lub Anthropic Messages API.
- W URL wprowadź adres URL punktu końcowego zaplecza, na przykład wdrożenia modelu w usłudze Foundry lub — w przypadku innych dostawców — adres URL punktu końcowego interfejsu API dostawcy.
- W obszarze Model wprowadź nazwę modelu zaplecza (na przykład
W sekcji Poświadczenia autoryzacyjne wybierz sposób, w jaki usługa API Management uwierzytelnia się względem zaplecza:
-
Nagłówki: Wprowadź nazwę nagłówka (na przykład
api-keylubAuthorization) oraz odpowiadającą mu wartość nagłówka (klucz lub sekret API). - Zarządzana tożsamość: Do wdrożeń modeli w Azure możesz użyć tożsamości zarządzanej przypisanej przez system lub tożsamości zarządzanej przypisanej przez użytkownika do uwierzytelnienia w backendzie.
Wyjaśnienie ustawień tożsamości zarządzanej można znaleźć w dokumentacji zasady authentication-managed-identity.
-
Nagłówki: Wprowadź nazwę nagłówka (na przykład
Na karcie Zarządzanie użyciem tokenu opcjonalnie skonfiguruj następujące zasady, aby monitorować użycie tokenu i zarządzać nim:
Na karcie Konfiguruj bezpieczeństwo zawartości sztucznej inteligencji opcjonalnie skonfiguruj usługę Bezpieczeństwo zawartości platformy Azure AI w celu blokowania monitów o niebezpieczną zawartość:
Wybierz Przegląd + utwórz, a następnie wybierz Utwórz.
Zarządzanie aliasami modelu
Aliasy modelu zapewniają klientom stabilną, neutralną od dostawcy nazwę do użycia podczas wywoływania modelu. Przypisując alias taki jak gpt lub claude-sonnet, oddzielasz nazwę modelu widoczną dla klienta od faktycznego wdrożenia po stronie backendu. Jeśli uaktualnisz model lub chcesz uruchomić test A/B, możesz zaktualizować obiekt docelowy aliasu bez żadnych zmian w kodzie klienta.
Aktualizowanie lub dodawanie aliasu modelu
Aby zaktualizować alias modelu po utworzeniu ujednoliconego interfejsu API modelu:
- W portalu Azure przejdź do wystąpienia usługi API Management, a następnie wybierz pozycję APIs.
- Wybierz ujednolicony interfejs API modelu.
- Wybierz kartę Modele , aby zaktualizować lub dodać alias modelu.
- Aby zaktualizować alias klienta, wybierz alias, który chcesz zaktualizować, a następnie zaktualizuj konfigurację zaplecza , aby określić model zaplecza. Dodaj poświadczenia autoryzacji dla nowego zaplecza.
- Aby dodać nowy model, wybierz pozycję + Dodaj i skonfiguruj ustawienia zaplecza, autoryzacji i klienta zgodnie z opisem w poprzedniej sekcji.
- Wybierz opcję Zapisz.
Odnajdywanie aliasów modelu
Deweloperzy mogą odnajdywać dostępne modele i ich aliasy, wywołując /models punkt końcowy ujednoliconego interfejsu API modelu. Usługa API Management zwraca listę modeli z aliasami dostępnymi dla klienta.
Wywoływanie interfejsu API z aplikacji klienckiej
Aplikacje klienckie mogą wywoływać ujednolicony interfejs API modelu przy użyciu dowolnego zestawu SDK zgodnego z interfejsem OpenAI. Wskaż podstawowy adres URL zestawu SDK w punkcie końcowym usługi API Management i użyj klucza subskrypcji usługi API Management lub innej obsługiwanej metody uwierzytelniania na potrzeby uwierzytelniania.
W poniższym przykładzie użyto biblioteki OpenAI SDK dla języka Python i przekazano w nagłówku klucz subskrypcji usługi API Management do uwierzytelniania. Treść żądania określa alias modelu klienta skonfigurowany w usłudze API Management, na przykład gpt lub claude-sonnet.:
[! WAŻNE]
Python OpenAI SDK wysyła
api_keywartość jakoAuthorization: Bearer <api_key>. Nie wysyłaapi_keyw nagłówku klucza subskrypcyjnego API Management. Aby użyć tego przykładu z kluczem subskrypcyjnym API Management, włącz dla interfejsu API rozpoznawanie klucza subskrypcyjnego w nagłówku Authorization typu Bearer, ustawiającproperties.subscriptionKeyParameterNames.bearernaenabled. Rozpoznawanie jest domyślnie wyłączone. Więcej informacji można znaleźć w artykule Użyj klucza subskrypcyjnego w nagłówku Autoryzacji.
Ten klucz subskrypcyjny uwierzytelnia klienta w API Management. To nie jest klucz API dostawcy modeli ani token dostępu OAuth. Konfiguruj poświadczenia uwierzytelniające lub tożsamość zarządzaną usługi API Management dla każdego backendu osobno.
from openai import OpenAI
client = OpenAI(
base_url="https://<apim-instance>.azure-api.net/llm/v1",
api_key="<api-management-subscription-key>",
)
# Specify the client-facing model alias
response = client.chat.completions.create(
model="gpt", # or "claude-sonnet", "gemini", or any other configured alias
messages=[{"role": "user", "content": "What can you do?"}],
)
print(response.choices[0].message.content)
Aby przełączyć się na inny model zaplecza, zmień tylko wartość model. Nie są wymagane żadne inne zmiany kodu.