Tworzenie ujednoliconego interfejsu API modelu i zarządzanie nim

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

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 /models koń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:

  1. W portalu Azure przejdź do swojej instancji API Management.

  2. W menu paska bocznego w obszarze Interfejsy API wybierz pozycję Modele>+ Dodaj>ujednolicony interfejs API modelu.

    Zrzut ekranu zunifikowanego kafelku API modelu w portalu Azure.

  3. Na karcie Konfiguracja interfejsu Unified Model API:

    1. 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.
    2. 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.
    3. Opcjonalnie wybierz co najmniej jeden produkt do skojarzenia z interfejsem API.
    4. Wybierz Dalej.
  4. 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:

    1. W obszarze Konfiguracja zaplecza:

      • W obszarze Model wprowadź nazwę modelu zaplecza (na przykład gpt-4o lub claude-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.
    2. 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-key lub Authorization) 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.

    Zrzut ekranu panelu Dodaj model, aby dodać ustawienia modelu w portalu.

  5. Na karcie Zarządzanie użyciem tokenu opcjonalnie skonfiguruj następujące zasady, aby monitorować użycie tokenu i zarządzać nim:

  6. 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ść:

  7. 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:

  1. W portalu Azure przejdź do wystąpienia usługi API Management, a następnie wybierz pozycję APIs.
  2. Wybierz ujednolicony interfejs API modelu.
  3. 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.
  4. 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_key wartość jako Authorization: Bearer <api_key>. Nie wysyła api_key w 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ąc properties.subscriptionKeyParameterNames.bearer na enabled. 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.