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