Aangepaste herkenningscontainers voor benoemde entiteiten installeren en uitvoeren
Met containers kunt u de Api voor aangepaste benoemde entiteitsherkenning hosten in uw eigen infrastructuur met behulp van uw eigen getrainde model. Als u beveiligings- of gegevensbeheervereisten hebt waaraan niet kan worden voldaan door aangepaste benoemde entiteitsherkenning op afstand aan te roepen, zijn containers mogelijk een goede optie.
Notitie
- Het gratis account is beperkt tot 5000 tekstrecords per maand en alleen de prijscategorieënGratis en Standard zijn geldig voor containers. Zie Gegevens- en servicelimieten voor meer informatie over transactieaanvragen.
Vereisten
- Als u nog geen abonnement op Azure hebt, maakt u een gratis account aan.
- Docker geïnstalleerd op een hostcomputer. Docker moet zodanig worden geconfigureerd dat de containers verbinding kunnen maken met en factureringsgegevens naar Azure kunnen verzenden.
- In Windows moet Docker ook worden geconfigureerd voor ondersteuning van Linux-containers.
- U moet basiskennis hebben van Docker-concepten.
- Een Taalresource met de prijscategorie gratis (F0) of Standard (S).
- Een getraind en geïmplementeerd aangepast model voor herkenning van benoemde entiteiten
Vereiste parameters verzamelen
Er zijn drie primaire parameters vereist voor alle Azure AI-containers. De licentievoorwaarden voor Microsoft-software moeten worden weergegeven met de waarde accepteren. Er zijn ook een eindpunt-URI en API-sleutel nodig.
Eindpunt-URI
De {ENDPOINT_URI}
waarde is beschikbaar op de pagina Azure Portal Overzicht van de bijbehorende Resource voor Azure AI-services. Ga naar de pagina Overzicht , beweeg de muisaanwijzer over het eindpunt en het pictogram Kopiëren naar klembord wordt weergegeven. Kopieer en gebruik het eindpunt waar nodig.
Sleutels
De {API_KEY}
waarde wordt gebruikt om de container te starten en is beschikbaar op de pagina Sleutels van de Azure Portal van de bijbehorende Azure AI-servicesresource. Ga naar de pagina Sleutels en selecteer het pictogram Kopiëren naar klembord .
Belangrijk
Deze abonnementssleutels worden gebruikt voor toegang tot uw Api voor Azure AI-services. Deel uw sleutels niet. Bewaar ze veilig. Gebruik bijvoorbeeld Azure Key Vault. We raden u ook aan deze sleutels regelmatig opnieuw te genereren. Er is slechts één sleutel nodig om een API-aanroep te maken. Wanneer u de eerste sleutel opnieuw genereert, kunt u de tweede sleutel gebruiken voor continue toegang tot de service.
Vereisten en aanbevelingen voor hostcomputers
De host is een x64-computer waarop de Docker-container wordt uitgevoerd. Dit kan een computer op uw locatie zijn of een Docker-hostingservice in Azure, zoals:
- Azure Kubernetes Service.
- Azure Container Instances.
- Een Kubernetes-cluster dat is geïmplementeerd in Azure Stack. Zie Kubernetes implementeren in Azure Stack voor meer informatie.
In de volgende tabel worden de minimale en aanbevolen specificaties voor aangepaste benoemde entiteitsherkenningscontainers beschreven. Elke CPU-kern moet ten minste 2,6 gigahertz (GHz) of sneller zijn. De toegestane transacties per seconde (TPS) worden ook vermeld.
Minimale hostspecificaties | Aanbevolen hostspecificaties | Minimale TPS | Maximum TPS | |
---|---|---|---|---|
Aangepaste benoemde entiteitsherkenning | 1 kerngeheugen, 2 GB geheugen | 1 kerngeheugen, 4 GB geheugen | 15 | 30 |
DE CPU-kern en het geheugen komen overeen met de --cpus
instellingen en --memory
, die worden gebruikt als onderdeel van de docker run
opdracht.
Uw aangepaste model voor benoemde entiteitsherkenning exporteren
Voordat u doorgaat met het uitvoeren van de Docker-installatiekopieën, moet u uw eigen getrainde model exporteren om het weer te geven aan uw container. Gebruik de volgende opdracht om uw model te extraheren en de onderstaande tijdelijke aanduidingen te vervangen door uw eigen waarden:
Tijdelijke aanduiding | Waarde | Opmaak of voorbeeld |
---|---|---|
{API_KEY} | De sleutel voor uw aangepaste benoemde entiteitsherkenningsresource. U vindt deze op de pagina Sleutel en eindpunt van uw resource, op de Azure Portal. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Het eindpunt voor toegang tot de Aangepaste benoemde entiteitsherkennings-API. U vindt deze op de pagina Sleutel en eindpunt van uw resource, op de Azure Portal. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT_NAME} | De naam van het project met het model dat u wilt exporteren. U vindt deze op het tabblad Projecten in de Language Studio-portal. | myProject |
{TRAINED_MODEL_NAME} | De naam van het getrainde model dat u wilt exporteren. U vindt uw getrainde modellen op het tabblad Modelevaluatie onder uw project in de Language Studio-portal. | 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}"
}'
De containerinstallatiekopieën ophalen met docker pull
De containerinstallatiekopieën voor aangepaste benoemde entiteitsherkenning vindt u in het mcr.microsoft.com
containerregistersyndicaat. Deze bevindt zich in de azure-cognitive-services/textanalytics/
opslagplaats en heeft de naam customner
. De volledig gekwalificeerde naam van de containerinstallatiekopieën is mcr.microsoft.com/azure-cognitive-services/textanalytics/customner
.
Als u de nieuwste versie van de container wilt gebruiken, kunt u de latest
tag gebruiken. U vindt ook een volledige lijst met tags op de MCR.
Gebruik de docker pull
opdracht om een containerinstallatiekopieën te downloaden van Microsoft Container Registry.
docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/customner:latest
Tip
U kunt de opdracht docker-installatiekopieën gebruiken om uw gedownloade containerinstallatiekopieën weer te geven. Met de volgende opdracht worden bijvoorbeeld de id, opslagplaats en tag weergegeven van elke gedownloade containerinstallatiekopieën, opgemaakt als een tabel:
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
De container uitvoeren met docker run
Zodra de container zich op de hostcomputer bevindt, gebruikt u de opdracht docker run om de containers uit te voeren. De container blijft actief totdat u deze stopt.
Belangrijk
- De docker-opdrachten in de volgende secties gebruiken de back-slash,
\
, als een regel vervolgteken. Vervang of verwijder deze op basis van de vereisten van uw hostbesturingssysteem. - De
Eula
opties ,Billing
enApiKey
moeten worden opgegeven om de container uit te voeren; anders wordt de container niet gestart. Zie Facturering voor meer informatie.
Voer de volgende docker run
opdracht uit om de container Custom Named Entity Recognition uit te voeren. Vervang de onderstaande tijdelijke aanduidingen door uw eigen waarden:
Tijdelijke aanduiding | Waarde | Opmaak of voorbeeld |
---|---|---|
{API_KEY} | De sleutel voor uw aangepaste benoemde entiteitsherkenningsresource. U vindt deze op de pagina Sleutel en eindpunt van uw resource, op de Azure Portal. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Het eindpunt voor toegang tot de Aangepaste benoemde entiteitsherkennings-API. U vindt deze op de pagina Sleutel en eindpunt van uw resource, op de Azure Portal. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT_NAME} | De naam van het project met het model dat u wilt exporteren. U vindt deze op het tabblad Projecten in de Language Studio-portal. | myProject |
{LOCAL_PATH} | Het pad waarin het geëxporteerde model in de vorige stap wordt gedownload. U kunt elk pad naar wens kiezen. | C:/custom-ner-model |
{TRAINED_MODEL_NAME} | De naam van het getrainde model dat u wilt exporteren. U vindt uw getrainde modellen op het tabblad Modelevaluatie onder uw project in de Language Studio-portal. | 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}
Met deze opdracht gebeurt het volgende:
- Hiermee voert u een aangepaste container voor benoemde entiteitsherkenning uit en downloadt u het geëxporteerde model naar het opgegeven lokale pad.
- Wijst één CPU-kern en 4 gigabyte (GB) geheugen toe
- Tcp-poort 5000 beschikbaar en wijst een pseudo-TTY toe voor de container
- De container wordt automatisch verwijderd nadat deze is afgesloten. De containerinstallatiekopie is nog steeds beschikbaar op de hostcomputer.
Meerdere containers uitvoeren op dezelfde host
Als u van plan bent om meerdere containers met zichtbare poorten uit te voeren, moet u ervoor zorgen dat u elke container uitvoert met een andere weergegeven poort. Voer bijvoorbeeld de eerste container uit op poort 5000 en de tweede container op poort 5001.
U kunt deze container en een andere Azure AI-servicescontainer samen uitvoeren op de HOST. U kunt ook meerdere containers van dezelfde Azure AI-servicescontainer uitvoeren.
Een query uitvoeren op het voorspellingseindpunt van de container
De container bevat op REST gebaseerde eindpunt-API's voor queryvoorspelling.
Gebruik de host, http://localhost:5000
, voor container-API's.
Controleren of een container wordt uitgevoerd
Er zijn verschillende manieren om te controleren of de container wordt uitgevoerd. Zoek het externe IP-adres en de weergegeven poort van de betreffende container en open uw favoriete webbrowser. Gebruik de verschillende aanvraag-URL's die volgen om te controleren of de container wordt uitgevoerd. De hier vermelde voorbeeldaanvraag-URL's zijn http://localhost:5000
, maar uw specifieke container kan variëren. Zorg ervoor dat u vertrouwt op het externe IP-adres en de weergegeven poort van uw container.
Aanvraag-URL | Doel |
---|---|
http://localhost:5000/ |
De container bevat een startpagina. |
http://localhost:5000/ready |
Deze URL wordt aangevraagd met GET en biedt een verificatie dat de container gereed is om een query op het model te accepteren. Deze aanvraag kan worden gebruikt voor Kubernetes-liveness- en gereedheidstests. |
http://localhost:5000/status |
Deze URL wordt ook aangevraagd met GET en controleert of de API-sleutel die wordt gebruikt om de container te starten, geldig is zonder dat er een eindpuntquery wordt veroorzaakt. Deze aanvraag kan worden gebruikt voor Kubernetes-liveness- en gereedheidstests. |
http://localhost:5000/swagger |
De container bevat een volledige set met documentatie voor de eindpunten en een functie Uitproberen. Met deze functie kunt u uw instellingen invoeren in een html-webformulier en de query maken zonder dat u code hoeft te schrijven. Nadat de query is geretourneerd, wordt een voorbeeld van een CURL-opdracht gegeven om de vereiste HTTP-headers en hoofdtekstindeling te demonstreren. |
De container stoppen
Als u de container wilt afsluiten, selecteert u Ctrl+C in de opdrachtregelomgeving waarin de container wordt uitgevoerd.
Problemen oplossen
Als u de container uitvoert met een uitvoerkoppeling en logboekregistratie ingeschakeld, genereert de container logboekbestanden die handig zijn voor het oplossen van problemen die optreden tijdens het starten of uitvoeren van de container.
Tip
Zie Veelgestelde vragen (FAQ) over Azure AI-containers voor meer informatie en richtlijnen voor probleemoplossing.
Billing
De containers aangepaste benoemde entiteitsherkenning verzenden factureringsgegevens naar Azure met behulp van een aangepaste benoemde entiteitsherkenningsresource in uw Azure-account.
Query's naar de container worden gefactureerd in de prijscategorie van de Azure-resource die wordt gebruikt voor de ApiKey
parameter.
Azure AI-servicescontainers worden niet in licentie gegeven om te worden uitgevoerd zonder dat ze zijn verbonden met het eindpunt voor meting of facturering. U moet de containers te allen tijde inschakelen om factureringsgegevens te communiceren met het factureringseindpunt. Azure AI-servicescontainers verzenden geen klantgegevens, zoals de afbeelding of tekst die wordt geanalyseerd, naar Microsoft.
Verbinding maken met Azure
De container heeft de waarden van het factureringsargument nodig om uit te voeren. Met deze waarden kan de container verbinding maken met het factureringseindpunt. De container rapporteert het gebruik ongeveer elke 10 tot 15 minuten. Als de container geen verbinding maakt met Azure binnen het toegestane tijdvenster, blijft de container actief, maar worden er geen query's uitgevoerd totdat het factureringseindpunt is hersteld. De verbinding wordt tien keer geprobeerd met hetzelfde tijdsinterval van 10 tot 15 minuten. Als er binnen de tien pogingen geen verbinding kan worden gemaakt met het factureringseindpunt, stopt de container met het verwerken van aanvragen. Zie de Veelgestelde vragen over Azure AI-servicescontainers voor een voorbeeld van de informatie die voor facturering naar Microsoft is verzonden.
Factureringsargumenten
Met docker run
de opdracht wordt de container gestart wanneer alle drie de volgende opties zijn voorzien van geldige waarden:
Optie | Beschrijving |
---|---|
ApiKey |
De API-sleutel van de Azure AI-servicesresource die wordt gebruikt voor het bijhouden van factureringsgegevens. De waarde van deze optie moet worden ingesteld op een API-sleutel voor de ingerichte resource die is opgegeven in Billing . |
Billing |
Het eindpunt van de Azure AI-servicesresource die wordt gebruikt voor het bijhouden van factureringsgegevens. De waarde van deze optie moet worden ingesteld op de eindpunt-URI van een ingerichte Azure-resource. |
Eula |
Geeft aan dat u de licentie voor de container hebt geaccepteerd. De waarde van deze optie moet worden ingesteld om te accepteren. |
Samenvatting
In dit artikel hebt u concepten en werkstromen geleerd voor het downloaden, installeren en uitvoeren van aangepaste benoemde entiteitsherkenningscontainers. Samenvatting:
- Custom Named Entity Recognition biedt Linux-containers voor Docker.
- Containerinstallatiekopieën worden gedownload van Microsoft Container Registry (MCR).
- Containerinstallatiekopieën worden uitgevoerd in Docker.
- U kunt de REST API of SDK gebruiken om bewerkingen in aangepaste benoemde entiteitsherkenningscontainers aan te roepen door de host-URI van de container op te geven.
- U moet factureringsgegevens opgeven bij het instantiëren van een container.
Belangrijk
Azure AI-containers worden niet in licentie gegeven om te worden uitgevoerd zonder dat ze zijn verbonden met Azure voor meting. Klanten moeten de containers te allen tijde inschakelen om factureringsgegevens te communiceren met de meetservice. Azure AI-containers verzenden geen klantgegevens (bijvoorbeeld tekst die wordt geanalyseerd) naar Microsoft.
Volgende stappen
- Zie Containers configureren voor configuratie-instellingen.