Konfigurowanie projektu sztucznej inteligencji do korzystania z wnioskowania modelu AI platformy Azure
Jeśli masz już projekt sztucznej inteligencji w usłudze Azure AI Foundry, wykaz modeli domyślnie wdraża modele od dostawców modeli innych firm jako autonomiczne punkty końcowe w projekcie. Każde wdrożenie modelu ma własny zestaw identyfikatorów URI i poświadczeń, aby uzyskać do niego dostęp. Z drugiej strony modele usługi Azure OpenAI są wdrażane w zasobie usług Azure AI Services lub w zasobie usługi Azure OpenAI Service.
To zachowanie można zmienić i wdrożyć oba typy modeli w zasobach usług Azure AI Services przy użyciu wnioskowania modelu AI platformy Azure. Po skonfigurowaniu wdrożenia modeli jako usługi obsługujące rozliczenia z płatnością zgodnie z rzeczywistym użyciem są wykonywane względem połączonego zasobu usług Azure AI Services zamiast samego projektu, co daje jeden zestaw punktów końcowych i poświadczeń w celu uzyskania dostępu do wszystkich modeli wdrożonych w usłudze Azure AI Foundry. Modele modeli modeli platformy Azure OpenAI i innych firm można zarządzać w ten sam sposób.
Ponadto wdrażanie modeli w wnioskowaniu modelu sztucznej inteligencji platformy Azure zapewnia dodatkowe korzyści:
- Możliwość routingu.
- Niestandardowe filtry zawartości.
- Typ wdrożenia pojemności globalnej.
- Uwierzytelnianie bez klucza z kontrolą dostępu opartą na rolach.
Z tego artykułu dowiesz się, jak skonfigurować projekt pod kątem używania modeli wdrożonych w wnioskowaniu modelu AI platformy Azure w usługach Azure AI.
Wymagania wstępne
Do ukończenia tego samouczka niezbędne są następujące elementy:
Subskrypcja Azure. Jeśli używasz modeli GitHub, możesz uaktualnić środowisko i utworzyć subskrypcję platformy Azure w tym procesie. Przeczytaj artykuł Upgrade from GitHub Models to Azure AI model inference if it's your case (Uaktualnianie modeli Usługi GitHub do wnioskowania modelu AI platformy Azure), jeśli tak jest.
Zasób usług AI platformy Azure. Aby uzyskać więcej informacji, zobacz Create an Azure AI Services resource (Tworzenie zasobu usług Azure AI Services).
Projekt sztucznej inteligencji platformy Azure i usługa Azure AI Hub.
Napiwek
Po aprowizacji centrum sztucznej inteligencji zasób usług Azure AI zostanie utworzony za jego pomocą i dwa połączone zasoby. Aby zobaczyć, który zasób usług AI platformy Azure jest połączony z projektem, przejdź do centrum>zarządzania portalu>azure AI Foundry Połączone zasoby i znajdź połączenia typu Usługi sztucznej inteligencji.
Konfigurowanie projektu pod kątem korzystania z wnioskowania modelu AI platformy Azure
Aby skonfigurować projekt do korzystania z funkcji wnioskowania modelu AI platformy Azure w usługach Azure AI Services, wykonaj następujące kroki:
Przejdź do portalu usługi Azure AI Foundry.
Na górnym pasku nawigacyjnym w prawym rogu wybierz ikonę Funkcje w wersji zapoznawczej. Po prawej stronie ekranu zostanie wyświetlony blok kontekstowy.
Włącz funkcję Wdrażanie modeli w usłudze wnioskowania modelu sztucznej inteligencji platformy Azure.
Zamknij panel.
Na stronie docelowej projektu zidentyfikuj zasób usług Azure AI Services połączony z projektem. Użyj listy rozwijanej, aby zmienić połączony zasób, jeśli jest to konieczne.
Jeśli żaden zasób nie znajduje się na liście rozwijanej, Centrum AI nie ma połączonego z nim zasobu usług Azure AI Services. Utwórz nowe połączenie za pomocą:
W lewym dolnym rogu ekranu wybierz pozycję Centrum zarządzania.
W sekcji Połączenia wybierz pozycję Nowe połączenie.
Wybierz pozycję Usługi sztucznej inteligencji platformy Azure.
W przeglądarce wyszukaj istniejący zasób usług Azure AI Services w ramach subskrypcji.
Wybierz opcję Dodaj połączenie.
Nowe połączenie zostanie dodane do centrum.
Wróć do strony docelowej projektu, aby kontynuować, a następnie wybierz nowe utworzone połączenie. Odśwież stronę, jeśli nie jest wyświetlana natychmiast.
W obszarze Uwzględnione możliwości upewnij się, że wybrano pozycję Wnioskowanie usługi Azure AI. Identyfikator URI wnioskowania modelu AI platformy Azure jest wyświetlany wraz z poświadczeniami, aby uzyskać do niego dostęp.
Napiwek
Każdy zasób usług Azure AI ma pojedynczy punkt końcowy wnioskowania modelu AI platformy Azure, który może służyć do uzyskiwania dostępu do dowolnego wdrożenia modelu. Ten sam punkt końcowy obsługuje wiele modeli w zależności od tego, które są skonfigurowane. Dowiedz się, jak działa punkt końcowy.
Zanotuj adres URL punktu końcowego i poświadczenia.
Tworzenie wdrożenia modelu w wnioskowaniu modelu AI platformy Azure
Dla każdego modelu, który chcesz wdrożyć w ramach wnioskowania modelu AI platformy Azure, wykonaj następujące kroki:
Przejdź do sekcji Katalog modeli w portalu usługi Azure AI Foundry.
Przewiń do interesującego Cię modelu i wybierz go.
Szczegóły modelu można przejrzeć na karcie modelu.
Wybierz Wdróż.
W przypadku dostawców modeli, którzy wymagają większej liczby warunków umowy, zostanie wyświetlony monit o zaakceptowanie tych warunków. Zaakceptuj warunki w tych przypadkach, wybierając pozycję Subskrybuj i wdróż.
W tej chwili można skonfigurować ustawienia wdrożenia. Domyślnie wdrożenie otrzymuje nazwę wdrażanego modelu. Nazwa wdrożenia jest używana w parametrze
model
żądania do kierowania do tego konkretnego wdrożenia modelu. Umożliwia skonfigurowanie określonych nazw modeli podczas dołączania określonych konfiguracji. Na przykłado1-preview-safe
w przypadku modelu z rygorystycznym filtrem zawartości bezpieczeństwa zawartości.Automatycznie wybieramy połączenie usług Azure AI Services w zależności od projektu, ponieważ włączono funkcję Wdrażanie modeli w usłudze wnioskowania modelu AI platformy Azure. Użyj opcji Dostosuj, aby zmienić połączenie na podstawie Twoich potrzeb. Jeśli wdrażasz w ramach standardowego typu wdrożenia, modele muszą być dostępne w regionie zasobu usługi Azure AI Services.
Wybierz Wdróż.
Po zakończeniu wdrażania zobaczysz adres URL punktu końcowego i poświadczenia, aby uzyskać dostęp do modelu. Zwróć uwagę, że teraz podany adres URL i poświadczenia są takie same jak wyświetlane na stronie docelowej projektu dla punktu końcowego wnioskowania modelu AI platformy Azure.
Wszystkie modele dostępne w zasobie można wyświetlić, przechodząc do sekcji Modele i punkty końcowe i lokalizując grupę dla połączenia z zasobem usług sztucznej inteligencji:
Uaktualnianie kodu przy użyciu nowego punktu końcowego
Po skonfigurowaniu zasobu usług Azure AI Services możesz rozpocząć korzystanie z niego z poziomu kodu. Potrzebny jest adres URL punktu końcowego i klucz, który można znaleźć w sekcji Przegląd :
Aby uzyskać przewidywania z punktu końcowego, możesz użyć dowolnego z obsługiwanych zestawów SDK. Następujące zestawy SDK są oficjalnie obsługiwane:
- OpenAI SDK
- Azure OpenAI SDK
- Zestaw SDK wnioskowania usługi Azure AI
- Azure AI Foundry SDK
Aby uzyskać więcej szczegółów i przykładów, zobacz sekcję Obsługiwane języki i zestawy SDK . W poniższym przykładzie pokazano, jak używać zestawu SDK wnioskowania modelu AI platformy Azure z nowo wdrożonym modelem:
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
model = ChatCompletionsClient(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)
Zapoznaj się z naszymi przykładami i przeczytaj dokumentację referencyjną interfejsu API, aby rozpocząć pracę.
Wygeneruj pierwsze ukończenie czatu:
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)
Użyj parametru model="<deployment-name>
, aby skierować żądanie do tego wdrożenia.
Wdrożenia działają jako alias danego modelu w ramach niektórych konfiguracji. Zobacz Stronę koncepcji routingu , aby dowiedzieć się, jak usługi Azure AI Services kierują wdrożenia.
Przechodzenie z bezserwerowych punktów końcowych interfejsu API do wnioskowania modelu AI platformy Azure
Mimo że projekt został skonfigurowany do korzystania z wnioskowania modelu AI platformy Azure, istniejące wdrożenia modelu nadal istnieją w projekcie jako punkty końcowe bezserwerowego interfejsu API. Te wdrożenia nie są przenoszone. W związku z tym można stopniowo uaktualnić dowolny istniejący kod odwołujący się do poprzednich wdrożeń modelu. Aby rozpocząć przenoszenie wdrożeń modelu, zalecamy następujący przepływ pracy:
Utwórz ponownie wdrożenie modelu w wnioskowaniu modelu AI platformy Azure. To wdrożenie modelu jest dostępne w punkcie końcowym wnioskowania modelu azure AI.
Uaktualnij kod, aby użyć nowego punktu końcowego.
Wyczyść projekt, usuwając punkt końcowy bezserwerowego interfejsu API.
Uaktualnianie kodu przy użyciu nowego punktu końcowego
Po wdrożeniu modeli w ramach usług Azure AI Możesz uaktualnić kod, aby użyć punktu końcowego wnioskowania modelu AI platformy Azure. Główna różnica między sposobem działania bezserwerowych punktów końcowych interfejsu API a wnioskowaniem modelu AI platformy Azure znajduje się w adresie URL punktu końcowego i parametrze modelu. Chociaż punkty końcowe bezserwerowego interfejsu API mają zestaw identyfikatorów URI i kluczy dla każdego wdrożenia modelu, wnioskowanie modelu AI platformy Azure ma tylko jeden dla wszystkich z nich.
Poniższa tabela zawiera podsumowanie zmian, które należy wprowadzić:
Właściwości | Bezserwerowe punkty końcowe interfejsu API | Wnioskowanie modelu AI platformy Azure |
---|---|---|
Punkt końcowy | https://<endpoint-name>.<region>.inference.ai.azure.com |
https://<ai-resource>.services.ai.azure.com/models |
Referencja | Jeden na model/punkt końcowy. | Jeden na zasób usług Azure AI Services. Możesz też użyć identyfikatora Entra firmy Microsoft. |
Parametr modelu | Brak. | Wymagany. Użyj nazwy wdrożenia modelu. |
Czyszczenie istniejących punktów końcowych bezserwerowego interfejsu API z projektu
Po refaktoryzacji kodu możesz usunąć istniejące bezserwerowe punkty końcowe interfejsu API w projekcie (jeśli istnieją).
Dla każdego modelu wdrożonego jako punkty końcowe bezserwerowego interfejsu API wykonaj następujące kroki:
Przejdź do portalu usługi Azure AI Foundry.
Wybierz pozycję Modele i punkty końcowe.
Zidentyfikuj punkty końcowe typu Bezserwerowe i wybierz punkt końcowy, który chcesz usunąć.
Wybierz opcję Usuń.
Ostrzeżenie
Nie można przywrócić tej operacji. Upewnij się, że punkt końcowy nie jest obecnie używany przez żadnego innego użytkownika ani fragment kodu.
Potwierdź operację, wybierając pozycję Usuń.
Jeśli utworzono połączenie bezserwerowego interfejsu API z tym punktem końcowym z innych projektów, takie połączenia nie zostaną usunięte i będą nadal wskazywać nieistniejącego punktu końcowego. Usuń dowolne z tych połączeń, aby uniknąć błędów.
Ograniczenia
Podczas konfigurowania projektu do korzystania z wnioskowania modelu AI platformy Azure należy wziąć pod uwagę następujące ograniczenia:
- Do wdrożenia w modelu AI platformy Azure są dostępne tylko modele obsługujące rozliczenia zgodnie z rzeczywistym użyciem (modele jako usługa). Modele wymagające limitu przydziału zasobów obliczeniowych z subskrypcji (zarządzane zasoby obliczeniowe), w tym modele niestandardowe, można wdrażać tylko w ramach danego projektu jako punkty końcowe usługi Managed Online i nadal być dostępne przy użyciu własnego zestawu identyfikatorów URI i poświadczeń punktu końcowego.
- Modele dostępne zarówno jako rozliczenia zgodnie z rzeczywistym użyciem, jak i zarządzane oferty obliczeniowe są domyślnie wdrażane w wnioskowaniu modelu AI platformy Azure w zasobach usług sztucznej inteligencji platformy Azure. Portal usługi Azure AI Foundry nie oferuje sposobu wdrażania ich w zarządzanych punktach końcowych online. Aby przeprowadzić wdrożenie, należy wyłączyć funkcję wymienioną w temacie Konfigurowanie projektu w celu korzystania z wnioskowania modelu AI platformy Azure lub używania szablonów interfejsu wiersza polecenia platformy Azure/zestawu AZURE ML SDK/arm.
Następne kroki
- Dodaj więcej modeli do punktu końcowego.