Udostępnij za pośrednictwem


Korzystanie z punktu końcowego wnioskowania modelu AI platformy Azure

Usługa wnioskowania azure AI w usługach Azure AI umożliwia klientom korzystanie z najbardziej zaawansowanych modeli od flagowych dostawców modeli przy użyciu jednego punktu końcowego i poświadczeń. Oznacza to, że można przełączać się między modelami i korzystać z nich z aplikacji bez konieczności zmieniania pojedynczego wiersza kodu.

W tym artykule wyjaśniono, jak modele są zorganizowane wewnątrz usługi i jak wywoływać je przy użyciu punktu końcowego wnioskowania.

Wdrożenia

Usługa wnioskowania modelu sztucznej inteligencji platformy Azure udostępnia modele przy użyciu koncepcji wdrażania . Wdrożenia to sposób na nadanie modelowi nazwy w ramach określonych konfiguracji. Następnie można wywołać taką konfigurację modelu, wskazując jego nazwę na żądaniach.

Przechwytywanie wdrożeń:

  • Nazwa modelu
  • Wersja modelu
  • Typ aprowizacji/pojemności1
  • Konfiguracjafiltrowania zawartości 1
  • Konfiguracjaograniczania szybkości 1

1 Konfiguracje mogą się różnić w zależności od wybranego modelu.

Zasób usług sztucznej inteligencji platformy Azure może mieć dowolną liczbę wdrożeń modelu i nie ponosi kosztów, chyba że wnioskowanie jest wykonywane dla tych modeli. Wdrożenia to zasoby platformy Azure, dlatego podlegają zasadom platformy Azure.

Aby dowiedzieć się więcej na temat tworzenia wdrożeń, zobacz Dodawanie i konfigurowanie wdrożeń modelu.

Punkt końcowy wnioskowania usługi Azure AI

Punkt końcowy wnioskowania sztucznej inteligencji platformy Azure umożliwia klientom używanie pojedynczego punktu końcowego z tym samym uwierzytelnianiem i schematem w celu wygenerowania wnioskowania dla wdrożonych modeli w zasobie. Ten punkt końcowy jest zgodny z interfejsem API wnioskowania modelu AI platformy Azure, który jest obsługiwany przez wszystkie modele w usłudze wnioskowania modelu AI platformy Azure.

Adres URL i poświadczenia punktu końcowego można wyświetlić w sekcji Przegląd . Punkt końcowy zazwyczaj ma postać https://<resource-name>.services.ai.azure.com/models:

Zrzut ekranu przedstawiający sposób uzyskiwania adresu URL i klucza skojarzonego z zasobem.

Możesz nawiązać połączenie z punktem końcowym przy użyciu zestawu AZURE AI Inference SDK:

Zainstaluj pakiet azure-ai-inference przy użyciu menedżera pakietów, takiego jak:

pip install azure-ai-inference>=1.0.0b5

Ostrzeżenie

Zasób usług Azure AI Services wymaga wersji azure-ai-inference>=1.0.0b5 języka Python.

Następnie możesz użyć pakietu do korzystania z modelu. W poniższym przykładzie pokazano, jak utworzyć klienta w celu korzystania z uzupełniania czatu:

import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential

client = ChatCompletionsClient(
    endpoint=os.environ["AZUREAI_ENDPOINT_URL"],
    credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)

Zapoznaj się z naszymi przykładami i przeczytaj dokumentację referencyjną interfejsu API, aby rozpocząć pracę.

Zobacz Obsługiwane języki i zestawy SDK , aby uzyskać więcej przykładów kodu i zasobów.

Routing

Punkt końcowy wnioskowania kieruje żądania do danego wdrożenia przez dopasowanie parametru name wewnątrz żądania do nazwy wdrożenia. Oznacza to, że wdrożenia działają jako alias danego modelu w ramach niektórych konfiguracji. Ta elastyczność umożliwia wielokrotne wdrażanie danego modelu w usłudze, ale w różnych konfiguracjach w razie potrzeby.

Ilustracja przedstawiająca sposób działania routingu dla modelu Meta-llama-3.2-8b-instruct wskazując taką nazwę w parametrze

Jeśli na przykład utworzysz wdrożenie o nazwie Mistral-large, takie wdrożenie można wywołać jako:

from azure.ai.inference.models import SystemMessage, UserMessage

response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="Explain Riemann's conjecture in 1 paragraph"),
    ],
    model="mistral-large"
)

print(response.choices[0].message.content)

Napiwek

Routing wdrażania nie uwzględnia wielkości liter.

Obsługiwane języki i zestawy SDK

Wszystkie modele wdrożone w usłudze wnioskowania modelu AI platformy Azure obsługują interfejs API wnioskowania modelu sztucznej inteligencji platformy Azure i skojarzona rodzina zestawów SDK, które są dostępne w następujących językach:

Język Dokumentacja Pakiet Przykłady
C# Odwołanie azure-ai-inference (NuGet) Przykłady w języku C#
Java Odwołanie azure-ai-inference (Maven) Przykłady języka Java
JavaScript Odwołanie @azure/wnioskowanie ai (npm) Przykłady kodu JavaScript
Python Odwołanie azure-ai-inference (PyPi) Przykłady języka Python

Punkt końcowy wnioskowania usługi Azure OpenAI

Modele usługi Azure OpenAI obsługują również interfejs API usługi Azure OpenAI. Ten interfejs API udostępnia pełne możliwości modeli OpenAI i obsługuje dodatkowe funkcje, takie jak asystenci, wątki, pliki i wnioskowanie wsadowe.

Każde wdrożenie modelu OpenAI ma własny adres URL skojarzony z takim wdrożeniem w punkcie końcowym wnioskowania usługi Azure OpenAI. Jednak ten sam mechanizm uwierzytelniania może służyć do korzystania z niego. Adresy URL są zwykle w postaci https://<resource-name>.openai.azure.com/openai/deployments/<model-deployment-name>. Dowiedz się więcej na stronie referencyjnej interfejsu API usługi Azure OpenAI

Ilustracja przedstawiająca sposób wdrażania usługi Azure OpenAI zawiera jeden adres URL dla każdego wdrożenia.

Każde wdrożenie ma adres URL, który jest połączeniem podstawowego adresu URL usługi Azure OpenAI i trasy /deployments/<model-deployment-name>.

Ważne

Nie ma mechanizmu routingu dla punktu końcowego usługi Azure OpenAI, ponieważ każdy adres URL jest wyłączny dla każdego wdrożenia modelu.

Obsługiwane języki i zestawy SDK

Punkt końcowy usługi Azure OpenAI jest obsługiwany przez zestaw SDK OpenAI (AzureOpenAI klasa) i zestawy SDK usługi Azure OpenAI, które są dostępne w wielu językach:

Język Kod źródłowy Pakiet Przykłady
C# Kod źródłowy Azure.AI.OpenAI (NuGet) Przykłady w języku C#
Go Kod źródłowy azopenai (Go) Przykłady języka Go
Java Kod źródłowy azure-ai-openai (Maven) Przykłady języka Java
JavaScript Kod źródłowy @azure/openai (npm) Przykłady kodu JavaScript
Python Kod źródłowy openai (PyPi) Przykłady języka Python

Następne kroki