Dela via


Installera och köra Docker-containrar för Avvikelseidentifiering-API:et

Viktigt!

Från och med den 20 september 2023 kan du inte skapa nya Avvikelseidentifiering resurser. Tjänsten Avvikelseidentifiering dras tillbaka den 1 oktober 2026.

Kommentar

Platsen för containeravbildningen har nyligen ändrats. Läs den här artikeln om du vill se den uppdaterade platsen för den här containern.

Med containrar kan du använda Avvikelseidentifiering-API:et i din egen miljö. Containrar är bra för specifika säkerhets- och datastyrningskrav. I den här artikeln får du lära dig hur du laddar ned, installerar och kör en Avvikelseidentifiering container.

Avvikelseidentifiering erbjuder en enda Docker-container för att använda API:et lokalt. Använd containern för att:

  • Använd Avvikelseidentifiering algoritmer på dina data
  • Övervaka strömmande data och identifiera avvikelser när de inträffar i realtid.
  • Identifiera avvikelser i hela datauppsättningen som en batch.
  • Identifiera trendändringspunkter i datauppsättningen som en batch.
  • Justera algoritmens känslighet för avvikelseidentifiering så att den passar dina data bättre.

Detaljerad information om API:et finns i:

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Förutsättningar

Du måste uppfylla följande krav innan du använder Avvikelseidentifiering containrar:

Obligatoriskt Syfte
Docker-motorn Du behöver Docker-motorn installerad på en värddator. Docker innehåller paket som konfigurerar Docker-miljön på macOS, Windows och Linux. En introduktion till grunderna för Docker och containrar finns i Docker-översikt.

Docker måste konfigureras så att containrarna kan ansluta till och skicka faktureringsdata till Azure.

I Windows måste Docker också konfigureras för att stödja Linux-containrar.

Kunskaper om Docker Du bör ha en grundläggande förståelse för Docker-begrepp, till exempel register, lagringsplatser, containrar och containeravbildningar, samt kunskaper om grundläggande docker kommandon.
Avvikelseidentifiering resurs För att kunna använda dessa containrar måste du ha:

En Azure-Avvikelseidentifiering resurs för att hämta den associerade API-nyckeln och slutpunkts-URI:n. Båda värdena är tillgängliga på sidorna Azure Portal Avvikelseidentifiering Översikt och Nycklar och måste starta containern.

{API_KEY}: En av de två tillgängliga resursnycklarna på sidan Nycklar

{ENDPOINT_URI}: Slutpunkten enligt beskrivningen på översiktssidan

Samla in obligatoriska parametrar

Tre primära parametrar för alla Azure AI-containrar krävs. Licensvillkoren för Programvara från Microsoft måste finnas med värdet accept. En slutpunkts-URI och API-nyckel behövs också.

Slutpunkts-URI

Värdet {ENDPOINT_URI} är tillgängligt på sidan Azure Portal Översikt för motsvarande Azure AI-tjänstresurs. Gå till sidan Översikt , hovra över slutpunkten och ikonen Kopiera till Urklipp visas. Kopiera och använd slutpunkten där det behövs.

Skärmbild som visar insamling av slutpunkts-URI för senare användning.

Nycklar

Värdet {API_KEY} används för att starta containern och är tillgängligt på sidan Azure Portal nycklar för motsvarande Azure AI-tjänstresurs. Gå till sidan Nycklar och välj ikonen Kopiera till Urklipp.

Skärmbild som visar hur du hämtar en av de två nycklarna för senare användning.

Viktigt!

Dessa prenumerationsnycklar används för att komma åt ditt Azure AI-tjänst-API. Dela inte dina nycklar. Lagra dem på ett säkert sätt. Använd till exempel Azure Key Vault. Vi rekommenderar också att du återskapar dessa nycklar regelbundet. Endast en nyckel krävs för att göra ett API-anrop. När du återskapar den första nyckeln kan du använda den andra nyckeln för fortsatt åtkomst till tjänsten.

Värddatorn

Värden är en x64-baserad dator som kör Docker-containern. Det kan vara en dator lokalt eller en Docker-värdtjänst i Azure, till exempel:

Krav och rekommendationer för containrar

I följande tabell beskrivs de minsta och rekommenderade processorkärnor och minne som ska allokeras för Avvikelseidentifiering container.

QPS(Frågor per sekund) Lägsta Rekommenderas
10 QPS 4 kärnor, 1 GB minne 8 kärnor 2 GB minne
20 QPS 8 kärnor, 2 GB minne 16 kärnor 4 GB minne

Varje kärna måste vara minst 2,6 gigahertz (GHz) eller snabbare.

Kärna och minne motsvarar --cpus inställningarna och --memory som används som en del av docker run kommandot.

Hämta containeravbildningen med docker pull

Den Avvikelseidentifiering containeravbildningen finns i mcr.microsoft.com containerregistersyndikatet. Den finns på lagringsplatsen azure-cognitive-services/decision och heter anomaly-detector. Det fullständigt kvalificerade containeravbildningsnamnet är mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector.

Om du vill använda den senaste versionen av containern kan du använda taggen latest . Du hittar också en fullständig lista över bildtaggar på MCR.

docker pull Använd kommandot för att ladda ned en containeravbildning.

Container Lagringsplats
cognitive-services-anomaly-detector mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector:latest

Dricks

När du använder docker pullbör du vara uppmärksam på containerregistrets, lagringsplatsens, containeravbildningens namn och motsvarande tagg. De är skiftlägeskänsliga.

Dricks

Du kan använda kommandot docker images för att visa en lista över dina nedladdade containeravbildningar. Följande kommando visar till exempel ID, lagringsplats och tagg för varje nedladdad containeravbildning, formaterad som en tabell:

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

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

Docker-hämtning för Avvikelseidentifiering-containern

docker pull mcr.microsoft.com/azure-cognitive-services/anomaly-detector:latest

Så här använder du containern

När containern finns på värddatorn använder du följande process för att arbeta med containern.

  1. Kör containern med de faktureringsinställningar som krävs. Fler exempeldocker run kommandot är tillgängliga.
  2. Fråga containerns förutsägelseslutpunkt.

Kör containern med docker run

Använd kommandot docker run för att köra containern. Mer information om hur du hämtar {ENDPOINT_URI} värdena och {API_KEY} finns i samla in obligatoriska parametrar.

Exempeldocker run kommandot är tillgängliga.

docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector:latest \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Det här kommandot:

  • Kör en Avvikelseidentifiering container från containeravbildningen
  • Allokerar en CPU-kärna och 4 GB minne
  • Exponerar TCP-port 5000 och allokerar en pseudo-TTY för containern
  • Tar automatiskt bort containern när den har avslutats. Containeravbildningen är fortfarande tillgänglig på värddatorn.

Viktigt!

Alternativen Eula, Billingoch ApiKey måste anges för att köra containern. Annars startar inte containern. Mer information finns i Fakturering.

Köra flera containrar på samma värd

Om du tänker köra flera containrar med exponerade portar ska du köra varje container med en annan port. Kör till exempel den första containern på port 5000 och den andra containern på port 5001.

<container-registry> Ersätt och <container-name> med värdena för de containrar som du använder. Dessa måste inte vara samma container. Du kan ha Avvikelseidentifiering containern och LUIS-containern som körs på VÄRDEN tillsammans eller så kan du ha flera Avvikelseidentifiering containrar som körs.

Kör den första containern på värdport 5000.

docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
<container-registry>/microsoft/<container-name> \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Kör den andra containern på värdport 5001.

docker run --rm -it -p 5001:5000 --memory 4g --cpus 1 \
<container-registry>/microsoft/<container-name> \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Varje efterföljande container ska finnas på en annan port.

Köra frågor mot containerns förutsägelseslutpunkt

Containern innehåller REST-baserade slutpunkts-API:er för frågeförutsägelse.

Använd värden, http://localhost:5000, för container-API:er.

Verifiera att en container körs

Det finns flera sätt att verifiera att containern körs. Leta upp den externa IP-adressen och den exponerade porten för containern i fråga och öppna din favoritwebbläsare. Använd de olika url:er för begäranden som följer för att verifiera att containern körs. Exempelbegärande-URL:er som anges här är http://localhost:5000, men din specifika container kan variera. Se till att förlita dig på containerns externa IP-adress och exponerade port.

Begärans-URL Syfte
http://localhost:5000/ Containern tillhandahåller en startsida.
http://localhost:5000/ready Den här URL:en begärs med GET och tillhandahåller en verifiering av att containern är redo att acceptera en fråga mot modellen. Den här begäran kan användas för Kubernetes liveness- och beredskapsavsökningar.
http://localhost:5000/status Den här URL:en begärs också med GET och kontrollerar om api-nyckeln som används för att starta containern är giltig utan att orsaka en slutpunktsfråga. Den här begäran kan användas för Kubernetes liveness- och beredskapsavsökningar.
http://localhost:5000/swagger Containern tillhandahåller en fullständig uppsättning dokumentation för slutpunkterna samt en Prova-funktion. Med den här funktionen kan du ange inställningarna i ett webbaserat HTML-formulär och göra frågan utan att behöva skriva någon kod. När frågan har returnerats tillhandahålls ett exempel på CURL-kommandot för att demonstrera de HTTP-huvuden och brödtextformat som krävs.

Containerns startsida

Stoppa containern

Om du vill stänga av containern väljer du Ctrl+C i den kommandoradsmiljö där containern körs.

Felsökning

Om du kör containern med en utdatamontering och loggning aktiverad genererar containern loggfiler som är användbara för att felsöka problem som inträffar när containern startas eller körs.

Dricks

Mer felsökningsinformation och vägledning finns i Vanliga frågor och svar om Azure AI-containrar.

Om du har problem med att köra en Azure AI-tjänstcontainer kan du prova att använda Microsofts diagnostikcontainer. Använd den här containern för att diagnostisera vanliga fel i distributionsmiljön som kan förhindra att Azure AI-containrar fungerar som förväntat.

Använd följande docker pull kommando för att hämta containern:

docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic

Kör sedan containern. Ersätt {ENDPOINT_URI} med slutpunkten och ersätt {API_KEY} med nyckeln till resursen:

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Containern testar nätverksanslutningen till faktureringsslutpunkten.

Fakturering

De Avvikelseidentifiering containrarna skickar faktureringsinformation till Azure med hjälp av en Avvikelseidentifiering resurs på ditt Azure-konto.

Frågor till containern faktureras på prisnivån för den Azure-resurs som används för parametern ApiKey .

Azure AI-tjänstcontainrar är inte licensierade att köras utan att vara anslutna till slutpunkten för mätning eller fakturering. Du måste aktivera containrarna för att kunna kommunicera faktureringsinformation med faktureringsslutpunkten hela tiden. Azure AI-tjänstcontainrar skickar inte kunddata, till exempel den bild eller text som analyseras, till Microsoft.

Ansluta till Azure

Containern behöver faktureringsargumentvärdena för att köras. Med de här värdena kan containern ansluta till faktureringsslutpunkten. Containern rapporterar användning var 10:e till 15:e minut. Om containern inte ansluter till Azure inom den tillåtna tidsperioden fortsätter containern att köras men hanterar inte frågor förrän faktureringsslutpunkten har återställts. Anslutningen görs 10 gånger med samma tidsintervall på 10 till 15 minuter. Om den inte kan ansluta till faktureringsslutpunkten inom de 10 försöken slutar containern att hantera begäranden. Se vanliga frågor och svar om Azure AI-tjänstcontainern för ett exempel på den information som skickas till Microsoft för fakturering.

Faktureringsargument

Kommandot docker run startar containern när alla tre av följande alternativ har giltiga värden:

Alternativ Description
ApiKey API-nyckeln för azure AI-tjänstresursen som används för att spåra faktureringsinformation.
Värdet för det här alternativet måste anges till en API-nyckel för den etablerade resursen som anges i Billing.
Billing Slutpunkten för azure AI-tjänstresursen som används för att spåra faktureringsinformation.
Värdet för det här alternativet måste anges till slutpunkts-URI:n för en etablerad Azure-resurs.
Eula Anger att du har godkänt licensen för containern.
Värdet för det här alternativet måste vara inställt på att acceptera.

Mer information om de här alternativen finns i Konfigurera containrar.

Sammanfattning

I den här artikeln har du lärt dig begrepp och arbetsflöden för att ladda ned, installera och köra Avvikelseidentifiering containrar. Sammanfattningsvis:

  • Avvikelseidentifiering tillhandahåller en Linux-container för Docker, som kapslar in avvikelseidentifiering med batch vs strömning, förväntad intervallinferens och känslighetsjustering.
  • Containeravbildningar laddas ned från ett privat Azure Container Registry som är dedikerat för containrar.
  • Containeravbildningar körs i Docker.
  • Du kan använda antingen REST API eller SDK för att anropa åtgärder i Avvikelseidentifiering containrar genom att ange värd-URI:n för containern.
  • Du måste ange faktureringsinformation när du instansierar en container.

Viktigt!

Azure AI-containrar är inte licensierade att köras utan att vara anslutna till Azure för mätning. Kunder måste göra det möjligt för containrarna att kommunicera faktureringsinformation med mätningstjänsten hela tiden. Azure AI-containrar skickar inte kunddata (t.ex. tidsseriedata som analyseras) till Microsoft.

Nästa steg