Instalowanie i uruchamianie niestandardowych kontenerów rozpoznawania jednostek nazwanych

Kontenery umożliwiają hostowanie niestandardowego interfejsu API rozpoznawania jednostek nazwanych we własnej infrastrukturze przy użyciu własnego wytrenowanego modelu. Jeśli masz wymagania dotyczące zabezpieczeń lub ładu danych, których nie można spełnić przez zdalne wywoływanie niestandardowego rozpoznawania nazwanych jednostek, kontenery mogą być dobrym rozwiązaniem.

Uwaga

  • Bezpłatne konto jest ograniczone do 5000 rekordów tekstowych miesięcznie, a tylko warstwy cenoweBezpłatna i Standardowa są ważne dla kontenerów. Aby uzyskać więcej informacji na temat stawek żądań transakcji, zobacz Limity danych i usług.

Wymagania wstępne

Zbieranie wymaganych parametrów

Wymagane są trzy podstawowe parametry dla wszystkich kontenerów usługi Azure AI. Postanowienia licencyjne dotyczące oprogramowania firmy Microsoft muszą być obecne z wartością akceptacji. Wymagany jest również identyfikator URI punktu końcowego i klucz interfejsu API.

Identyfikator URI punktu końcowego

Wartość {ENDPOINT_URI} jest dostępna na stronie Azure Portal Przegląd odpowiedniego zasobu usług Azure AI. Przejdź do strony Przegląd , umieść kursor nad punktem końcowym, a zostanie wyświetlona ikona Kopiuj do schowka . Skopiuj i użyj punktu końcowego w razie potrzeby.

Zrzut ekranu przedstawiający zbieranie identyfikatora URI punktu końcowego do późniejszego użycia.

Klucze

Wartość {API_KEY} jest używana do uruchamiania kontenera i jest dostępna na stronie Klucze Azure Portal odpowiedniego zasobu usług Azure AI. Przejdź do strony Klucze i wybierz ikonę Kopiuj do schowka .

Zrzut ekranu przedstawiający pobranie jednego z dwóch kluczy do późniejszego użycia.

Ważne

Te klucze subskrypcji są używane do uzyskiwania dostępu do interfejsu API usług AI platformy Azure. Nie udostępniaj kluczy. Przechowuj je bezpiecznie. Na przykład użyj usługi Azure Key Vault. Zalecamy również regularne ponowne generowanie tych kluczy. Wywołanie interfejsu API jest konieczne tylko jednym kluczem. Podczas ponownego generowania pierwszego klucza można użyć drugiego klucza w celu dalszego dostępu do usługi.

Wymagania i zalecenia dotyczące komputera hosta

Host jest komputerem opartym na architekturze x64, na który działa kontener platformy Docker. Może to być komputer w środowisku lokalnym lub usługa hostingu platformy Docker na platformie Azure, taka jak:

W poniższej tabeli opisano minimalne i zalecane specyfikacje kontenerów niestandardowego rozpoznawania jednostek nazwanych. Każdy rdzeń procesora CPU musi być co najmniej 2,6 gigahertz (GHz) lub szybszy. Wyświetlane są również dozwolone transakcje na sekundę (TPS).

Minimalna specyfikacja hosta Zalecane specyfikacje hosta Minimalny moduł TPS Maksymalna liczba modułów TPS
Niestandardowe rozpoznawanie nazwanych jednostek 1 rdzeń, 2 GB pamięci 1 rdzeń, 4 GB pamięci 15 30

Rdzenie procesora CPU i pamięć odpowiadają --cpus ustawieniu i --memory , które są używane w ramach docker run polecenia .

Eksportowanie niestandardowego modelu rozpoznawania jednostek nazwanych

Przed kontynuowaniem uruchamiania obrazu platformy Docker należy wyeksportować własny wytrenowany model, aby uwidocznić go w kontenerze. Użyj następującego polecenia, aby wyodrębnić model i zastąpić symbole zastępcze poniżej własnymi wartościami:

Symbol zastępczy Wartość Formatowanie lub przykład
{API_KEY} Klucz zasobu niestandardowego rozpoznawania nazwanej jednostki. Możesz go znaleźć na stronie Klucz i punkt końcowy zasobu na Azure Portal. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} Punkt końcowy umożliwiający uzyskiwanie dostępu do niestandardowego interfejsu API rozpoznawania nazwanych jednostek. Możesz go znaleźć na stronie Klucz i punkt końcowy zasobu na Azure Portal. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT_NAME} Nazwa projektu zawierającego model, który chcesz wyeksportować. Można go znaleźć na karcie projekty w portalu Language Studio. myProject
{TRAINED_MODEL_NAME} Nazwa wytrenowanego modelu, który chcesz wyeksportować. Swoje wytrenowane modele można znaleźć na karcie oceny modelu w obszarze projektu w portalu Language Studio. myTrainedModel
curl --location --request PUT '{ENDPOINT_URI}/language/authoring/analyze-text/projects/{PROJECT_NAME}/exported-models/{TRAINED_MODEL_NAME}?api-version=2023-04-15-preview' \
--header 'Ocp-Apim-Subscription-Key: {API_KEY}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "TrainedmodelLabel": "{TRAINED_MODEL_NAME}"
}'

Pobieranie obrazu kontenera za pomocą polecenia docker pull

Niestandardowy obraz kontenera rozpoznawania jednostek nazwanych można znaleźć w syndykacie mcr.microsoft.com rejestru kontenerów. Znajduje się on w azure-cognitive-services/textanalytics/ repozytorium i ma nazwę customner. W pełni kwalifikowana nazwa obrazu kontenera to mcr.microsoft.com/azure-cognitive-services/textanalytics/customner.

Aby użyć najnowszej wersji kontenera, możesz użyć tagu latest . Pełną listę tagów można również znaleźć w mcr.

Użyj polecenia , docker pull aby pobrać obraz kontenera z usługi Microsoft Container Registry.

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/customner:latest

Porada

Aby wyświetlić listę pobranych obrazów kontenerów, możesz użyć polecenia docker images . Na przykład następujące polecenie wyświetla identyfikator, repozytorium i tag każdego pobranego obrazu kontenera w formacie tabeli:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

Uruchamianie kontenera za pomocą polecenia docker run

Gdy kontener znajduje się na komputerze-hoście, użyj polecenia docker run , aby uruchomić kontenery. Kontener będzie nadal działać do momentu jego zatrzymania.

Ważne

  • Polecenia platformy Docker w poniższych sekcjach używają ukośnika odwrotnego , \jako znaku kontynuacji wiersza. Zastąp lub usuń to na podstawie wymagań systemu operacyjnego hosta.
  • Aby Eulauruchomić kontener, należy określić opcje , Billingi ApiKey . W przeciwnym razie kontener nie zostanie uruchomiony. Aby uzyskać więcej informacji, zobacz Rozliczenia.

Aby uruchomić niestandardowy kontener rozpoznawania nazwanej jednostki , wykonaj następujące docker run polecenie. Zastąp symbole zastępcze poniżej własnymi wartościami:

Symbol zastępczy Wartość Formatowanie lub przykład
{API_KEY} Klucz zasobu niestandardowego rozpoznawania nazwanych jednostek. Możesz go znaleźć na stronie Klucz i punkt końcowy zasobu na Azure Portal. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} Punkt końcowy umożliwiający uzyskiwanie dostępu do niestandardowego interfejsu API rozpoznawania jednostek nazwanych. Możesz go znaleźć na stronie Klucz i punkt końcowy zasobu na Azure Portal. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT_NAME} Nazwa projektu zawierającego model, który chcesz wyeksportować. Możesz go znaleźć na karcie projektów w portalu Language Studio. myProject
{LOCAL_PATH} Ścieżka, w której zostanie pobrany wyeksportowany model w poprzednim kroku. Możesz wybrać dowolną ścieżkę lubić. C:/custom-ner-model
{TRAINED_MODEL_NAME} Nazwa wytrenowanego modelu, który chcesz wyeksportować. W portalu Language Studio możesz znaleźć wytrenowane modele na karcie oceny modelu. myTrainedModel
docker run --rm -it -p5000:5000  --memory 4g --cpus 1 \
-v {LOCAL_PATH}:/modelPath \
mcr.microsoft.com/azure-cognitive-services/textanalytics/customner:latest \
EULA=accept \
BILLING={ENDPOINT_URI} \
APIKEY={API_KEY} \
projectName={PROJECT_NAME}
exportedModelName={TRAINED_MODEL_NAME}

To polecenie:

  • Uruchamia niestandardowy kontener rozpoznawania jednostek nazwanych i pobiera wyeksportowany model do określonej ścieżki lokalnej.
  • Przydziela jedną rdzeń procesora CPU i 4 gigabajty pamięci (GB)
  • Uwidacznia port TCP 5000 i przydziela pseudo-TTY dla kontenera
  • Automatycznie usuwa kontener po jego zakończeniu. Obraz kontenera jest nadal dostępny na komputerze hosta.

Uruchamianie wielu kontenerów na tym samym hoście

Jeśli zamierzasz uruchomić wiele kontenerów z uwidocznionych portów, upewnij się, że każdy kontener ma inny uwidoczniony port. Na przykład uruchom pierwszy kontener na porcie 5000 i drugi kontener na porcie 5001.

Ten kontener i inny kontener usług Azure AI można uruchomić razem na hoście. Możesz również mieć wiele kontenerów tego samego kontenera usług AI platformy Azure, na którym działa.

Wykonywanie zapytania dotyczącego punktu końcowego przewidywania kontenera

Kontener udostępnia oparte na interfejsie REST interfejsy API punktu końcowego przewidywania zapytań.

Użyj hosta http://localhost:5000 dla interfejsów API kontenera.

Sprawdzanie, czy kontener jest uruchomiony

Istnieje kilka sposobów sprawdzania, czy kontener jest uruchomiony. Znajdź zewnętrzny adres IP i uwidoczniony port kontenera, a następnie otwórz ulubioną przeglądarkę internetową. Użyj różnych adresów URL żądań, które następują, aby sprawdzić, czy kontener jest uruchomiony. Przykładowe adresy URL żądania wymienione w tym miejscu to http://localhost:5000, ale określony kontener może się różnić. Pamiętaj, aby polegać na zewnętrznym adresie IP kontenera i uwidocznić port.

Adres URL żądania Przeznaczenie
http://localhost:5000/ Kontener zawiera stronę główną.
http://localhost:5000/ready Żądany przy użyciu polecenia GET ten adres URL zapewnia weryfikację, że kontener jest gotowy do akceptowania zapytania względem modelu. To żądanie może służyć do sond na żywo i gotowości platformy Kubernetes.
http://localhost:5000/status Ponadto żądany przy użyciu polecenia GET ten adres URL sprawdza, czy klucz api-key używany do uruchamiania kontenera jest prawidłowy bez powodowania zapytania punktu końcowego. To żądanie może służyć do sond na żywo i gotowości platformy Kubernetes.
http://localhost:5000/swagger Kontener zawiera pełen zestaw dokumentacji dla punktów końcowych oraz funkcję Wypróbuj. Dzięki tej funkcji możesz wprowadzić ustawienia w formularzu HTML opartym na internecie i utworzyć zapytanie bez konieczności pisania kodu. Po powrocie zapytania zostanie udostępnione przykładowe polecenie CURL, aby zademonstrować wymagane nagłówki HTTP i format treści.

Strona główna kontenera

Zatrzymywanie kontenera

Aby zamknąć kontener, w środowisku wiersza polecenia, w którym jest uruchomiony kontener, wybierz klawisze Ctrl+C.

Rozwiązywanie problemów

W przypadku uruchomienia kontenera z włączoną instalacją danych wyjściowych i rejestrowaniem kontener generuje pliki dziennika, które są przydatne do rozwiązywania problemów występujących podczas uruchamiania lub uruchamiania kontenera.

Porada

Aby uzyskać więcej informacji na temat rozwiązywania problemów i wskazówek, zobacz Często zadawane pytania dotyczące kontenerów usługi Azure AI.

Rozliczenia

Niestandardowe kontenery rozpoznawania nazwanych jednostek wysyłają informacje rozliczeniowe na platformę Azure przy użyciu niestandardowego zasobu rozpoznawania nazwanych jednostek na koncie platformy Azure.

Zapytania do kontenera są rozliczane w warstwie cenowej zasobu platformy Azure używanego dla parametru ApiKey .

Kontenery usług AI platformy Azure nie są licencjonowane do uruchamiania bez połączenia z punktem końcowym pomiaru lub rozliczeń. Należy zezwolić kontenerom na komunikowanie informacji rozliczeniowych z punktem końcowym rozliczeń przez cały czas. Kontenery usług AI platformy Azure nie wysyłają danych klientów, takich jak obraz lub tekst, który jest analizowany, do firmy Microsoft.

Nawiązywanie połączenia z usługą Azure

Kontener potrzebuje wartości argumentów rozliczeniowych do uruchomienia. Te wartości umożliwiają kontenerowi nawiązanie połączenia z punktem końcowym rozliczeń. Kontener zgłasza użycie co około 10 do 15 minut. Jeśli kontener nie łączy się z platformą Azure w dozwolonym przedziale czasu, kontener będzie nadal uruchamiany, ale nie obsługuje zapytań, dopóki punkt końcowy rozliczeń nie zostanie przywrócony. Połączenie jest podejmowane 10 razy w tym samym przedziale czasu od 10 do 15 minut. Jeśli nie może nawiązać połączenia z punktem końcowym rozliczeń w ciągu 10 prób, kontener przestanie obsługiwać żądania. Zobacz często zadawane pytania dotyczące kontenera usług AI platformy Azure , aby zapoznać się z przykładem informacji wysyłanych do firmy Microsoft na potrzeby rozliczeń.

Argumenty rozliczeniowe

Polecenie docker run uruchomi kontener, gdy wszystkie trzy z następujących opcji są dostarczane z prawidłowymi wartościami:

Opcja Opis
ApiKey Klucz interfejsu API zasobu usług AI platformy Azure używany do śledzenia informacji rozliczeniowych.
Wartość tej opcji musi być ustawiona na klucz interfejsu API dla aprowizowanego zasobu określonego w Billingpliku .
Billing Punkt końcowy zasobu usług Azure AI używany do śledzenia informacji rozliczeniowych.
Wartość tej opcji musi być ustawiona na identyfikator URI punktu końcowego aprowizowanego zasobu platformy Azure.
Eula Wskazuje, że zaakceptowano licencję dla kontenera.
Wartość tej opcji należy ustawić tak, aby akceptowała.

Podsumowanie

W tym artykule przedstawiono pojęcia i przepływ pracy dotyczące pobierania, instalowania i uruchamiania niestandardowych kontenerów rozpoznawania jednostek nazwanych. Podsumowanie:

  • Niestandardowe rozpoznawanie nazwanych jednostek udostępnia kontenery systemu Linux dla platformy Docker.
  • Obrazy kontenerów są pobierane z usługi Microsoft Container Registry (MCR).
  • Obrazy kontenerów są uruchamiane na platformie Docker.
  • Możesz użyć interfejsu API REST lub zestawu SDK do wywoływania operacji w niestandardowych kontenerach rozpoznawania jednostek nazwanych, określając identyfikator URI hosta kontenera.
  • Podczas tworzenia wystąpienia kontenera należy określić informacje dotyczące rozliczeń.

Ważne

Kontenery usługi Azure AI nie są licencjonowane do uruchamiania bez nawiązywania połączenia z platformą Azure na potrzeby pomiarów. Klienci muszą zezwolić kontenerom na komunikowanie informacji rozliczeniowych z usługą pomiaru przez cały czas. Kontenery usługi Azure AI nie wysyłają danych klienta (np. tekstu analizowanego) do firmy Microsoft.

Następne kroki