Aangepaste benoemde entiteitsherkenningscontainers installeren en uitvoeren
Met containers kunt u de aangepaste entiteitsherkennings-API hosten op uw eigen infrastructuur met behulp van uw eigen getrainde model. Als u beveiligings- of gegevensbeheervereisten hebt die niet kunnen worden voldaan door op afstand aangepaste entiteitsherkenning aan te roepen, is containers mogelijk een goede optie.
Notitie
- Het gratis account is beperkt tot 5000 tekstrecords per maand en alleen de prijscategorieën Gratis en Standard zijn geldig voor containers. Zie Gegevens- en servicelimieten voor meer informatie over transactieaanvragen.
Vereisten
- Als u nog geen Azure-abonnement hebt, maakt u een gratis account.
- Docker geïnstalleerd op een hostcomputer. Docker moet zo worden geconfigureerd dat de containers verbinding kunnen maken met en factureringsgegevens naar Azure kunnen verzenden.
- In Windows moet Docker ook worden geconfigureerd ter ondersteuning van Linux-containers.
- U moet basiskennis hebben van Docker-concepten.
- Een taalresource met de gratis prijscategorie (F0) of Standard (S).
- Een getraind en geïmplementeerd aangepast entiteitsherkenningsmodel
Vereiste parameters verzamelen
Er zijn drie primaire parameters vereist voor alle Azure AI-containers. De licentievoorwaarden voor Microsoft-software moeten aanwezig zijn met een waarde van accepteren. Er is ook een eindpunt-URI en API-sleutel nodig.
Eindpunt-URI
De {ENDPOINT_URI}
waarde is beschikbaar op de overzichtspagina van Azure Portal van de bijbehorende Azure AI-servicesresource. Ga naar de pagina Overzicht, plaats de muisaanwijzer op het eindpunt en er wordt een pictogram Kopiëren naar klembord weergegeven. Kopieer en gebruik waar nodig het eindpunt.
Toetsen
De {API_KEY}
waarde wordt gebruikt om de container te starten en is beschikbaar op de pagina Sleutels van 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 Azure AI-services-API. Deel je 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. Het kan een computer op uw locatie of een Docker-hostingservice in Azure zijn, 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 aantal TPS's | |
---|---|---|---|---|
Aangepaste entiteitsherkenning met benoemde namen | 1 kern, 2 GB geheugen | 1 kern, 4 GB geheugen | 15 | 30 |
DE CPU-kern en het geheugen komen overeen met de --cpus
en --memory
instellingen, die worden gebruikt als onderdeel van de docker run
opdracht.
Uw aangepaste benoemde entiteitsherkenningsmodel exporteren
Voordat u verdergaat met het uitvoeren van de docker-installatiekopieën, moet u uw eigen getrainde model exporteren om het beschikbaar te maken voor uw container. Gebruik de volgende opdracht om uw model te extraheren en de onderstaande tijdelijke aanduidingen te vervangen door uw eigen waarden:
Tijdelijke aanduiding | Weergegeven als | Opmaak of voorbeeld |
---|---|---|
{API_KEY} | De sleutel voor uw aangepaste benoemde entiteitsherkenningsresource. U vindt deze op de pagina Sleutel en eindpunt van uw resource, in Azure Portal. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Het eindpunt voor toegang tot de aangepaste entiteitsherkennings-API. U vindt deze op de pagina Sleutel en eindpunt van uw resource, in 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 van de aangepaste entiteitsherkenning zijn te vinden in het mcr.microsoft.com
containerregistersyndicaat. Deze bevindt zich in de azure-cognitive-services/textanalytics/
opslagplaats en heeft de naam customner
. De volledig gekwalificeerde containerinstallatiekopieënnaam 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 kunt ook een volledige lijst met tags vinden op de MCR.
Gebruik de docker pull
opdracht om een containerinstallatiekopieën te downloaden uit 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. De volgende opdracht bevat bijvoorbeeld de id, opslagplaats en tag 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 de container stopt.
Belangrijk
- De docker-opdrachten in de volgende secties gebruiken de back-slash,
\
als een regelvervolgteken. Vervang of verwijder deze op basis van de vereisten van uw hostbesturingssysteem. - De
Eula
,Billing
enApiKey
opties 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 | Weergegeven als | Opmaak of voorbeeld |
---|---|---|
{API_KEY} | De sleutel voor uw aangepaste benoemde entiteitsherkenningsresource. U vindt deze op de pagina Sleutel en eindpunt van uw resource, in Azure Portal. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Het eindpunt voor toegang tot de aangepaste entiteitsherkennings-API. U vindt deze op de pagina Sleutel en eindpunt van uw resource, in 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 gewenst pad 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:
- Voert een aangepaste entiteitsherkenningscontainer uit en downloadt het geëxporteerde model naar het opgegeven lokale pad.
- Wijst één CPU-kern en 4 gigabyte (GB) geheugen toe
- Maakt TCP-poort 5000 beschikbaar en wijst een pseudo-TTY toe voor de container
- Hiermee wordt de container automatisch verwijderd nadat deze is afgesloten. De containerinstallatiekopie is nog steeds beschikbaar op de hostcomputer.
Meerdere containers op dezelfde host uitvoeren
Als u van plan bent om meerdere containers met blootgestelde 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 laten 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 van uw container en de weergegeven poort.
Aanvraag-URL | Doel |
---|---|
http://localhost:5000/ |
De container bevat een startpagina. |
http://localhost:5000/ready |
Aangevraagd met GET biedt deze URL een verificatie dat de container gereed is voor het accepteren van een query voor het model. 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 een eindpuntquery te veroorzaken. 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 er een voorbeeld van een CURL-opdracht gegeven om de HTTP-headers en de hoofdtekstindeling te demonstreren die vereist is. |
De container stoppen
Als u de container wilt afsluiten, selecteert u Ctrl+C in de opdrachtregelomgeving waarin de container wordt uitgevoerd.
Probleemoplossing
Als u de container uitvoert waarvoor uitvoerkoppeling en logboekregistratie zijn ingeschakeld, genereert de container logboekbestanden die handig zijn om problemen op te lossen die optreden tijdens het starten of uitvoeren van de container.
Tip
Zie veelgestelde vragen over Azure AI-containers voor meer informatie en richtlijnen voor probleemoplossing.
Billing
De containers voor aangepaste entiteitsherkenning verzenden factureringsgegevens naar Azure met behulp van een aangepaste 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 hebben geen licentie om te worden uitgevoerd zonder verbinding te maken met het meter- of factureringseindpunt. U moet de containers 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 moet de waarden voor factureringsargumenten uitvoeren. Met deze waarden kan de container verbinding maken met het factureringseindpunt. De container rapporteert ongeveer om de 10 tot 15 minuten het gebruik. Als de container niet binnen het toegestane tijdvenster verbinding maakt met Azure, blijft de container actief, maar voert deze geen query's uit totdat het factureringseindpunt is hersteld. De verbinding wordt 10 keer geprobeerd met hetzelfde tijdsinterval van 10 tot 15 minuten. Als er geen verbinding kan worden gemaakt met het factureringseindpunt binnen de 10 pogingen, stopt de container met het verwerken van aanvragen. Zie de veelgestelde vragen over de Azure AI-servicescontainer voor een voorbeeld van de informatie die naar Microsoft is verzonden voor facturering.
Factureringsargumenten
Met docker run
de opdracht wordt de container gestart wanneer alle drie de volgende opties geldige waarden bevatten:
Optie | Omschrijving |
---|---|
ApiKey |
De API-sleutel van de Azure AI-servicesresource die wordt gebruikt om factureringsgegevens bij te houden. 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 om factureringsgegevens bij te houden. 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 op accepteren. |
Samenvatting
In dit artikel hebt u concepten en werkstroom geleerd voor het downloaden, installeren en uitvoeren van aangepaste benoemde entiteitsherkenningscontainers. Samengevat:
- Aangepaste entiteitsherkenning biedt Linux-containers voor Docker.
- Containerinstallatiekopieën worden gedownload vanuit het Microsoft Container Registry (MCR).
- Containerinstallatiekopieën worden uitgevoerd in Docker.
- U kunt de REST API of SDK gebruiken om bewerkingen aan te roepen in aangepaste entiteitenherkenningscontainers 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 gelicentieerd om te worden uitgevoerd zonder dat ze zijn verbonden met Azure voor meting. Klanten moeten ervoor zorgen dat de containers altijd factureringsgegevens kunnen communiceren met de meterservice. Azure AI-containers verzenden geen klantgegevens (bijvoorbeeld tekst die wordt geanalyseerd) naar Microsoft.