Wdrażanie modeli jako bezserwerowych interfejsów API
Z tego artykułu dowiesz się, jak wdrożyć model z katalogu modeli jako bezserwerowy interfejs API z rozliczeniami opartymi na tokenach płatności zgodnie z rzeczywistym użyciem.
Ważne
Modele, które są w wersji zapoznawczej, są oznaczone jako wersja zapoznawcza na kartach modeli w wykazie modeli.
Niektóre modele w katalogu modeli można wdrożyć jako bezserwerowy interfejs API z rozliczeniami płatności zgodnie z rzeczywistym użyciem. Tego rodzaju wdrożenie umożliwia korzystanie z modeli jako interfejsu API bez hostowania ich w ramach subskrypcji, przy jednoczesnym zachowaniu bezpieczeństwa i zgodności przedsiębiorstwa, których potrzebują organizacje. Ta opcja wdrożenia nie wymaga limitu przydziału z subskrypcji.
W tym artykule użyto wdrożenia modelu Meta Llama na potrzeby ilustracji. Można jednak użyć tych samych kroków, aby wdrożyć dowolne modele w wykazie modeli, które są dostępne dla wdrożenia bezserwerowego interfejsu API.
Wymagania wstępne
Subskrypcja platformy Azure z prawidłową formą płatności. Subskrypcje platformy Azure w wersji bezpłatnej lub próbnej nie będą działać. Jeśli nie masz subskrypcji platformy Azure, utwórz płatne konto platformy Azure, aby rozpocząć.
Projekt usługi Azure AI Foundry.
Kontrola dostępu oparta na rolach platformy Azure (RBAC) platformy Azure służy do udzielania dostępu do operacji w portalu usługi Azure AI Foundry. Aby wykonać kroki opisane w tym artykule, konto użytkownika musi mieć przypisaną rolę dewelopera usługi Azure AI w grupie zasobów. Aby uzyskać więcej informacji na temat uprawnień, zobacz Kontrola dostępu oparta na rolach w portalu usługi Azure AI Foundry.
Aby pracować z usługą Azure AI Foundry, musisz zainstalować następujące oprogramowanie:
- Portal usługi Azure AI Foundry
- Interfejs wiersza polecenia platformy Azure
- Zestaw SDK dla języka Python
- Bicep
- ARM
Aby nawigować po usłudze Azure AI Foundry, możesz użyć dowolnej zgodnej przeglądarki internetowej.
Znajdowanie modelu i identyfikatora modelu w wykazie modeli
- Zaloguj się do usługi Azure AI Foundry.
- Jeśli nie jesteś jeszcze w projekcie, wybierz go.
- Wybierz pozycję Katalog modeli w okienku nawigacji po lewej stronie.
Uwaga
W przypadku modeli oferowanych za pośrednictwem witryny Azure Marketplace upewnij się, że Twoje konto ma uprawnienia roli dewelopera sztucznej inteligencji platformy Azure w grupie zasobów lub że spełniasz uprawnienia wymagane do subskrybowania ofert modelu.
Modele oferowane przez dostawców innych niż Microsoft (na przykład modele Llama i Mistral) są rozliczane za pośrednictwem witryny Azure Marketplace. W przypadku takich modeli musisz zasubskrybować projekt do określonej oferty modelu. Modele oferowane przez firmę Microsoft (na przykład modele Phi-3) nie mają tego wymagania, ponieważ rozliczenia są wykonywane inaczej. Aby uzyskać szczegółowe informacje o rozliczeniach dotyczących bezserwerowego wdrażania modeli w katalogu modeli, zobacz Rozliczenia dla bezserwerowych interfejsów API.
Wybierz kartę modelu modelu, który chcesz wdrożyć. W tym artykule wybierzesz model Meta-Llama-3-8B-Instruct .
Jeśli wdrażasz model przy użyciu interfejsu wiersza polecenia platformy Azure, języka Python lub usługi ARM, skopiuj identyfikator modelu.
Ważne
Nie dołączaj wersji podczas kopiowania identyfikatora modelu. Punkty końcowe bezserwerowego interfejsu API zawsze wdrażają najnowszą dostępną wersję modelu. Na przykład dla identyfikatora
azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct/versions/3
modelu skopiujazureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct
wartość .
W następnej sekcji opisano kroki subskrybowania projektu do oferty modelu. Możesz pominąć tę sekcję i przejść do sekcji Wdrażanie modelu w punkcie końcowym bezserwerowego interfejsu API, jeśli wdrażasz model firmy Microsoft.
Subskrybowanie projektu do oferty modelu
Punkty końcowe bezserwerowego interfejsu API mogą wdrażać modele oferowane zarówno przez firmę Microsoft, jak i spoza firmy Microsoft. W przypadku modeli firmy Microsoft (takich jak modele Phi-3) nie trzeba tworzyć subskrypcji witryny Azure Marketplace i wdrażać je w punktach końcowych bezserwerowego interfejsu API bezpośrednio w celu korzystania z przewidywań. W przypadku modeli innych niż Microsoft należy najpierw utworzyć subskrypcję. Jeśli po raz pierwszy wdrażasz model w projekcie, musisz zasubskrybować projekt dla konkretnej oferty modelu z witryny Azure Marketplace. Każdy projekt ma własną subskrypcję konkretnej oferty z witryny Azure Marketplace modelu, która umożliwia kontrolowanie i monitorowanie wydatków.
Napiwek
Pomiń ten krok, jeśli wdrażasz modele z rodziny modeli Phi-3. Bezpośrednio wdróż model w punkcie końcowym bezserwerowego interfejsu API.
Uwaga
Modele oferowane za pośrednictwem witryny Azure Marketplace są dostępne do wdrożenia w punktach końcowych bezserwerowego interfejsu API w określonych regionach. Sprawdź dostępność modelu i regionu dla wdrożeń bezserwerowego interfejsu API, aby sprawdzić, które modele i regiony są dostępne. Jeśli ta, której potrzebujesz, nie ma na liście, możesz wdrożyć w obszarze roboczym w obsługiwanym regionie, a następnie korzystać z punktów końcowych bezserwerowego interfejsu API z innego obszaru roboczego.
Utwórz subskrypcję platformy handlowej modelu. Podczas tworzenia subskrypcji akceptujesz warunki i postanowienia skojarzone z ofertą modelu.
- Portal usługi Azure AI Foundry
- Interfejs wiersza polecenia platformy Azure
- Zestaw SDK dla języka Python
- Bicep
- ARM
Na stronie Szczegóły modelu wybierz pozycję Wdróż. Zostanie otwarte okno Opcje wdrażania, dzięki czemu możesz wybrać między wdrożeniem bezserwerowego interfejsu API i wdrożeniem przy użyciu zarządzanego środowiska obliczeniowego.
Uwaga
W przypadku modeli, które można wdrożyć tylko za pośrednictwem bezserwerowego wdrażania interfejsu API, kreator wdrażania bezserwerowego interfejsu API zostanie otwarty bezpośrednio po wybraniu pozycji Wdróż na stronie szczegółów modelu.
Wybierz pozycję Bezserwerowy interfejs API z usługą Azure AI Content Safety (wersja zapoznawcza), aby otworzyć kreatora wdrażania bezserwerowego interfejsu API.
Wybierz projekt, w którym chcesz wdrożyć modele. Aby korzystać z oferty wdrażania modelu bezserwerowego interfejsu API, projekt musi należeć do jednego z regionów obsługiwanych w przypadku wdrożenia bezserwerowego dla określonego modelu.
Jeśli widzisz notatkę Masz już subskrypcję witryny Azure Marketplace dla tego projektu, nie musisz tworzyć subskrypcji, ponieważ masz już subskrypcję. Możesz przejść do sekcji Wdrażanie modelu w punkcie końcowym bezserwerowego interfejsu API.
W kreatorze wdrażania wybierz link do warunków użytkowania witryny Azure Marketplace, aby dowiedzieć się więcej o warunkach użytkowania. Możesz również wybrać kartę Cennik i terminy , aby dowiedzieć się więcej o cenach dla wybranego modelu.
Wybierz pozycję Subskrybuj i Wdróż.
Po zasubskrybowaniu projektu dla konkretnej oferty witryny Azure Marketplace kolejne wdrożenia tej samej oferty w tym samym projekcie nie wymagają ponownego subskrybowania.
W dowolnym momencie możesz zobaczyć oferty modelu, do których obecnie subskrybowany jest projekt:
- Portal usługi Azure AI Foundry
- Interfejs wiersza polecenia platformy Azure
- Zestaw SDK dla języka Python
- Bicep
- ARM
Przejdź do portalu Azure Portal.
Przejdź do grupy zasobów, do której należy projekt.
W filtrze Typ wybierz pozycję SaaS.
Zobaczysz wszystkie oferty, do których obecnie subskrybujesz.
Wybierz dowolny zasób, aby wyświetlić szczegóły.
Wdrażanie modelu w punkcie końcowym bezserwerowego interfejsu API
Po utworzeniu subskrypcji dla modelu innego niż Microsoft możesz wdrożyć skojarzony model w punkcie końcowym bezserwerowego interfejsu API. W przypadku modeli firmy Microsoft (takich jak modele Phi-3) nie trzeba tworzyć subskrypcji.
Punkt końcowy bezserwerowego interfejsu API umożliwia korzystanie z modeli jako interfejsu API bez hostowania ich w ramach subskrypcji, przy jednoczesnym zachowaniu potrzeb organizacji w zakresie zabezpieczeń i zgodności przedsiębiorstwa. Ta opcja wdrożenia nie wymaga limitu przydziału z subskrypcji.
W tej sekcji utworzysz punkt końcowy o nazwie meta-llama3-8b-qwerty.
Tworzenie bezserwerowego punktu końcowego
- Portal usługi Azure AI Foundry
- Interfejs wiersza polecenia platformy Azure
- Zestaw SDK dla języka Python
- Bicep
- ARM
Aby wdrożyć model firmy Microsoft, który nie wymaga subskrybowania oferty modelu:
- Wybierz pozycję Wdróż , a następnie wybierz pozycję Bezserwerowy interfejs API z bezpieczeństwem zawartości usługi Azure AI (wersja zapoznawcza), aby otworzyć kreatora wdrażania.
- Wybierz projekt, w którym chcesz wdrożyć model. Zwróć uwagę, że nie wszystkie regiony są obsługiwane.
Alternatywnie w przypadku modelu innego niż Microsoft, który wymaga subskrypcji modelu, jeśli właśnie zasubskrybujesz projekt do oferty modelu w poprzedniej sekcji, wybierz pozycję Wdróż. Alternatywnie wybierz pozycję Kontynuuj, aby wdrożyć (jeśli kreator wdrażania miał notatkę Masz już subskrypcję witryny Azure Marketplace dla tego projektu).
Nadaj wdrożeniu nazwę. Ta nazwa staje się częścią adresu URL interfejsu API wdrażania. Ten adres URL musi być unikatowy w każdym regionie świadczenia usługi Azure.
Napiwek
Opcja Filtr zawartości (wersja zapoznawcza) jest domyślnie włączona. Pozostaw ustawienie domyślne dla usługi, aby wykrywać szkodliwe treści, takie jak nienawiść, samookaleczenia, treści seksualne i brutalne. Aby uzyskać więcej informacji na temat filtrowania zawartości (wersja zapoznawcza), zobacz Filtrowanie zawartości w portalu usługi Azure AI Foundry.
Wybierz Wdróż. Poczekaj, aż wdrożenie będzie gotowe, a nastąpi przekierowanie do strony Wdrożenia.
W dowolnym momencie możesz zobaczyć punkty końcowe wdrożone w projekcie:
- Portal usługi Azure AI Foundry
- Interfejs wiersza polecenia platformy Azure
- Zestaw SDK dla języka Python
- Bicep
- ARM
Przejdź do projektu.
W sekcji Moje zasoby wybierz pozycję Modele i punkty końcowe.
Wyświetlane są punkty końcowe bezserwerowego interfejsu API.
Utworzony punkt końcowy używa uwierzytelniania klucza do autoryzacji. Wykonaj poniższe kroki, aby uzyskać klucze skojarzone z danym punktem końcowym.
- Portal usługi Azure AI Foundry
- Interfejs wiersza polecenia platformy Azure
- Zestaw SDK dla języka Python
- Bicep
- ARM
Możesz wybrać wdrożenie i zanotować identyfikator URI i klucz punktu końcowego. Użyj ich do wywoływania wdrożenia i generowania przewidywań.
Uwaga
W przypadku korzystania z witryny Azure Portal punkty końcowe interfejsu API bezserwerowego nie są domyślnie wyświetlane w grupie zasobów. Użyj opcji Pokaż ukryte typy, aby wyświetlić je w grupie zasobów.
Na tym etapie punkt końcowy jest gotowy do użycia.
Jeśli musisz korzystać z tego wdrożenia z innego projektu lub centrum lub planujesz użyć przepływu monitu do tworzenia inteligentnych aplikacji, musisz utworzyć połączenie z wdrożeniem bezserwerowego interfejsu API. Aby dowiedzieć się, jak skonfigurować istniejący punkt końcowy bezserwerowego interfejsu API w nowym projekcie lub centrum, zobacz Korzystanie z wdrożonych punktów końcowych bezserwerowego interfejsu API z innego projektu lub przepływu monitu.
Napiwek
Jeśli używasz przepływu monitów w tym samym projekcie lub centrum, w którym wdrożono wdrożenie, nadal musisz utworzyć połączenie.
Korzystanie z punktu końcowego bezserwerowego interfejsu API
Modele wdrożone w usługach Azure Machine Learning i Azure AI Foundry w punktach końcowych bezserwerowego interfejsu API obsługują interfejs API wnioskowania modelu sztucznej inteligencji platformy Azure, który uwidacznia wspólny zestaw funkcji dla podstawowych modeli i który może być używany przez deweloperów do korzystania z przewidywań z różnych zestawów modeli w jednolity i spójny sposób.
Dowiedz się więcej o możliwościach tego interfejsu API i sposobach korzystania z niego podczas tworzenia aplikacji.
Izolacja sieciowa
Punkty końcowe dla modeli wdrożonych jako bezserwerowe interfejsy API są zgodne z ustawieniem flagi dostępu do sieci publicznej (PNA) centrum portalu Usługi Azure AI z projektem, w którym istnieje wdrożenie. Aby zabezpieczyć punkt końcowy usługi MaaS, wyłącz flagę PNA w usłudze Azure AI Foundry Hub. Komunikację przychodzącą z klienta do punktu końcowego można zabezpieczyć przy użyciu prywatnego punktu końcowego dla centrum.
Aby ustawić flagę PNA dla centrum Azure AI Foundry:
- Przejdź do portalu Azure Portal.
- Wyszukaj grupę zasobów, do której należy centrum, i wybierz centrum Azure AI z zasobów wymienionych dla tej grupy zasobów.
- Na stronie Przegląd centrum w menu po lewej stronie wybierz pozycję Ustawienia>Sieć.
- Na karcie Dostęp publiczny można skonfigurować ustawienia flagi dostępu do sieci publicznej.
- Zapisz zmiany. Propagacja zmian może potrwać do pięciu minut.
Usuwanie punktów końcowych i subskrypcji
Możesz usunąć subskrypcje modelu i punkty końcowe. Usunięcie subskrypcji modelu sprawia, że skojarzony punkt końcowy staje się w złej kondycji i jest bezużyteczny.
- Portal usługi Azure AI Foundry
- Interfejs wiersza polecenia platformy Azure
- Zestaw SDK dla języka Python
- Bicep
- ARM
Aby usunąć punkt końcowy bezserwerowego interfejsu API:
Przejdź do usługi Azure AI Foundry.
Przejdź do projektu.
W sekcji Moje zasoby wybierz pozycję Modele i punkty końcowe.
Otwórz wdrożenie, które chcesz usunąć.
Wybierz Usuń.
Aby usunąć skojarzona subskrypcja modelu:
Przejdź do witryny Azure Portal.
Przejdź do grupy zasobów, do której należy projekt.
W filtrze Typ wybierz pozycję SaaS.
Wybierz subskrypcję, którą chcesz usunąć.
Wybierz Usuń.
Zagadnienia dotyczące kosztów i limitów przydziału dla modeli wdrożonych jako punkty końcowe bezserwerowego interfejsu API
Limit przydziału jest zarządzany na wdrożenie. Każde wdrożenie ma limit szybkości wynoszący 200 000 tokenów na minutę i 1000 żądań interfejsu API na minutę. Obecnie jednak ograniczamy jedno wdrożenie na model na projekt. Skontaktuj się z pomocą techniczną platformy Microsoft Azure, jeśli bieżące limity szybkości nie są wystarczające dla Twoich scenariuszy.
Koszt modeli firmy Microsoft
Informacje o cenach można znaleźć na karcie Cennik i terminy kreatora wdrażania podczas wdrażania modeli firmy Microsoft (takich jak modele Phi-3) jako punktów końcowych bezserwerowego interfejsu API.
Koszt dla modeli innych niż Microsoft
Modele inne niż firmy Microsoft wdrożone jako punkty końcowe bezserwerowego interfejsu API są oferowane za pośrednictwem witryny Azure Marketplace i zintegrowane z usługą Azure AI Foundry do użycia. Cennik witryny Azure Marketplace można znaleźć podczas wdrażania lub dostrajania tych modeli.
Za każdym razem, gdy projekt subskrybuje daną ofertę z witryny Azure Marketplace, tworzony jest nowy zasób w celu śledzenia kosztów związanych z jej zużyciem. Ten sam zasób służy do śledzenia kosztów skojarzonych z wnioskowaniem i dostrajania; jednak w ramach śledzenia każdego scenariusza można niezależnie śledzić wiele mierników.
Aby uzyskać więcej informacji na temat śledzenia kosztów, zobacz Monitorowanie kosztów modeli oferowanych w witrynie Azure Marketplace.
Uprawnienia wymagane do subskrybowania ofert modeli
Kontrola dostępu oparta na rolach platformy Azure (RBAC) platformy Azure służy do udzielania dostępu do operacji w portalu usługi Azure AI Foundry. Aby wykonać kroki opisane w tym artykule, konto użytkownika musi mieć przypisaną rolę Właściciela, Współautora lub Dewelopera sztucznej inteligencji platformy Azure dla subskrypcji platformy Azure. Możesz też przypisać rolę niestandardową, która ma następujące uprawnienia:
W subskrypcji platformy Azure — do subskrypcji obszaru roboczego oferty witryny Azure Marketplace, raz dla każdego obszaru roboczego, na ofertę:
Microsoft.MarketplaceOrdering/agreements/offers/plans/read
Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
Microsoft.SaaS/register/action
W grupie zasobów — do tworzenia zasobu SaaS i jego użycia:
Microsoft.SaaS/resources/read
Microsoft.SaaS/resources/write
W obszarze roboczym — do wdrażania punktów końcowych (rola badacza danych usługi Azure Machine Learning zawiera już te uprawnienia):
Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*
Aby uzyskać więcej informacji na temat uprawnień, zobacz Kontrola dostępu oparta na rolach w portalu usługi Azure AI Foundry.