Wat zijn Azure Cognitive Services-containers?

Azure Cognitive Services biedt verschillende Docker-containers waarmee u dezelfde API's kunt gebruiken die beschikbaar zijn in Azure, on-premises. Het gebruik van deze containers biedt u de flexibiliteit om Cognitive Services dichter bij uw gegevens te brengen vanwege naleving, beveiliging of andere operationele redenen. Containerondersteuning is momenteel beschikbaar voor een subset van Azure Cognitive Services.

Containerisatie is een benadering van softwaredistributie waarbij een toepassing of service, inclusief de configuratie van afhankelijkheden & , samen wordt verpakt als een containerinstallatiekopieën. Met weinig of geen wijzigingen kan een containerinstallatiekopie worden geïmplementeerd op een containerhost. Containers zijn geïsoleerd van elkaar en het onderliggende besturingssysteem, met een kleinere footprint dan een virtuele machine. Containers kunnen worden geïnstantieerd vanuit containerinstallatiekopieën voor kortetermijntaken en worden verwijderd wanneer ze niet meer nodig zijn.

Functies en -voordelen

  • Onveranderbare infrastructuur: Stel DevOps-teams in staat om een consistente en betrouwbare set bekende systeemparameters te gebruiken, terwijl ze zich kunnen aanpassen aan wijzigingen. Containers bieden de flexibiliteit om te draaien binnen een voorspelbaar ecosysteem en configuratiedrift te voorkomen.
  • Controle over gegevens: kies waar uw gegevens worden verwerkt door Cognitive Services. Dit kan essentieel zijn als u geen gegevens naar de cloud kunt verzenden, maar toegang nodig hebt tot Cognitive Services-API's. Ondersteuning voor consistentie in hybride omgevingen: over gegevens, beheer, identiteit en beveiliging.
  • Controle over modelupdates: Flexibiliteit bij het bijwerken van versiebeheer en het bijwerken van modellen die in hun oplossingen zijn geïmplementeerd.
  • Draagbare architectuur: hiermee kunt u een draagbare toepassingsarchitectuur maken die kan worden geïmplementeerd in Azure, on-premises en de rand. Containers kunnen rechtstreeks worden geïmplementeerd op Azure Kubernetes Service, Azure Container Instances of op een Kubernetes-cluster dat is geïmplementeerd in Azure Stack. Zie Kubernetes implementeren in Azure Stack voor meer informatie.
  • Hoge doorvoer/lage latentie: biedt klanten de mogelijkheid om te schalen voor vereisten voor hoge doorvoer en lage latentie door Cognitive Services fysiek dicht bij hun toepassingslogica en -gegevens te laten uitvoeren. Containers maken geen limiet voor transacties per seconde (TPS) en kunnen worden gemaakt om zowel omhoog als uit te schalen om de vraag te verwerken als u de benodigde hardwareresources opgeeft.
  • Schaalbaarheid: Met de steeds groeiende populariteit van containerisatie- en containerindelingssoftware, zoals Kubernetes; schaalbaarheid loopt voorop bij technologische ontwikkelingen. Op basis van een schaalbare clusterbasis is toepassingsontwikkeling geschikt voor hoge beschikbaarheid.

Containers in Azure Cognitive Services

Azure Cognitive Services-containers bieden de volgende set Docker-containers, die elk een subset van functionaliteit van services in Azure Cognitive Services bevatten. U vindt instructies en installatiekopieën in de onderstaande tabellen. Er is ook een lijst met containerinstallatiekopieën beschikbaar.

Notitie

Zie Install and run Form Recognizer containers for Applied AI Services Form Recognizer container instructions and image locations (Instructies en locaties voor installatiekopieën installeren en uitvoeren voor toegepaste AI-services).

Beslissingscontainers

Service Container Beschrijving Beschikbaarheid
Anomaliedetectie Anomaly Detector (afbeelding) Met de Anomaly Detector-API kunt u anomalieën in uw tijdreeksgegevens controleren en detecteren met behulp van machine learning. Algemeen beschikbaar

Taalcontainers

Service Container Beschrijving Beschikbaarheid
LUIS LUIS (afbeelding) Laadt een getraind of gepubliceerd Language Understanding model, ook wel een LUIS-app genoemd, in een Docker-container en biedt toegang tot de queryvoorspellingen van de API-eindpunten van de container. U kunt querylogboeken uit de container verzamelen en deze terug uploaden naar de LUIS-portal om de nauwkeurigheid van de voorspelling van de app te verbeteren. Algemeen verkrijgbaar.
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.
Taalservice Sleuteltermextractie (afbeelding) Hiermee worden sleuteltermen geëxtraheerd om de belangrijkste punten te identificeren. Bijvoorbeeld, voor de invoertekst 'het eten was heerlijk en de bediening fantastisch' retourneert de API de belangrijkste gespreksonderwerpen: 'eten' en 'bediening fantastisch'. Algemeen verkrijgbaar.
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.
Taalservice Teksttaaldetectie (afbeelding) Detecteert voor maximaal 120 talen in welke taal de invoertekst is geschreven en rapporteert één taalcode voor elk document dat op de aanvraag wordt ingediend. De taalcode is gekoppeld aan een score die de sterkte van de score aangeeft. Algemeen verkrijgbaar.
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.
Taalservice Sentimentanalyse (afbeelding) Analyseert onbewerkte tekst op aanwijzingen over positief of negatief gevoel. Deze versie van sentimentanalyse retourneert sentimentlabels (bijvoorbeeld positief of negatief) voor elk document en elke zin erin. Algemeen verkrijgbaar.
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.
Taalservice Text Analytics voor status Medische informatie uit ongestructureerde klinische tekst extraheren en labelen. Algemeen beschikbaar
Translator Translator Tekst vertalen in verschillende talen en dialecten. Algemeen verkrijgbaar. Gated - toegang aanvragen.
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.

Spraakcontainers

Notitie

Als u Spraakcontainers wilt gebruiken, moet u een online aanvraagformulier invullen.

Service Container Beschrijving Beschikbaarheid
Speech Service-API Spraak-naar-tekst (afbeelding) Transcribeert continue realtime spraak naar tekst. Algemeen verkrijgbaar.
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.
Speech Service-API Aangepaste spraak-naar-tekst (afbeelding) Transcribeert continue realtime spraak in tekst met behulp van een aangepast model. Algemeen beschikbaar
Speech Service-API Neurale tekst-naar-spraak (afbeelding) Converteert tekst naar natuurlijk klinkende spraak met behulp van deep neurale netwerktechnologie, waardoor natuurlijkere gesynthetiseerde spraak mogelijk is. Algemeen verkrijgbaar.
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.
Speech Service-API Spraaktaaldetectie (afbeelding) Bepaalt de taal van gesproken audio. Beperkte preview

Vision-containers

Service Container Beschrijving Beschikbaarheid
Computer Vision OCR lezen (afbeelding) Met de OCR-container Lezen kunt u gedrukte en handgeschreven tekst extraheren uit afbeeldingen en documenten met ondersteuning voor JPEG-, PNG-, BMP-, PDF- en TIFF-bestandsindelingen. Zie de documentatie over de Read-API voor meer informatie. Algemeen beschikbaar. Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.
Ruimtelijke analyse Ruimtelijke analyse (afbeelding) Analyseert realtime streaming video om inzicht te hebben in de ruimtelijke relaties tussen mensen, hun beweging en interacties met objecten in fysieke omgevingen. Preview

Daarnaast worden sommige containers ondersteund in het resourceaanbod voor meerdere services van Cognitive Services. U kunt één All-In-One-resource voor Cognitive Services maken en dezelfde factureringssleutel gebruiken voor ondersteunde services voor de volgende services:

  • Computer Vision
  • LUIS
  • Taalservice

Vereisten

U moet voldoen aan de volgende vereisten voordat u Azure Cognitive Services-containers kunt gebruiken:

Docker Engine: Docker Engine moet lokaal zijn geïnstalleerd. Docker biedt pakketten waarmee de Docker-omgeving in macOS, Linux en Windows wordt geconfigureerd. In Windows moet Docker worden geconfigureerd voor ondersteuning van Linux-containers. Docker-containers kunnen ook rechtstreeks worden geïmplementeerd in Azure Kubernetes Service of Azure Container Instances.

Docker moet zodanig worden geconfigureerd dat de containers verbinding kunnen maken met en factureringsgegevens naar Azure kunnen verzenden.

Bekendheid met Microsoft Container Registry en Docker: u moet een basiskennis hebben van zowel Microsoft Container Registry als Docker-concepten, zoals registers, opslagplaatsen, containers en containerinstallatiekopieën, en kennis van basisopdrachtendocker.

Zie het Docker-overzicht voor een inleiding tot de basisprincipes van Docker en containers.

Afzonderlijke containers kunnen ook hun eigen vereisten hebben, waaronder vereisten voor server- en geheugentoewijzing.

Azure Cognitive Services-containerbeveiliging

Beveiliging moet een primaire focus zijn wanneer u toepassingen ontwikkelt. Het belang van beveiliging is een metrisch gegeven voor succes. Wanneer u een softwareoplossing ontwerpt die Cognitive Services-containers bevat, is het essentieel om inzicht te hebben in de beperkingen en mogelijkheden die voor u beschikbaar zijn. Zie Virtuele netwerken van Azure Cognitive Services configureren voor meer informatie over netwerkbeveiliging.

Belangrijk

Standaard is er geen beveiliging voor de Cognitive Services-container-API. De reden hiervoor is dat de container meestal wordt uitgevoerd als onderdeel van een pod die tegen de buitenkant wordt beveiligd door een netwerkbrug. Het is echter mogelijk om verificatie in te schakelen die identiek is aan de verificatie die wordt gebruikt bij het openen van de cloudgebaseerde Cognitive Services.

In het onderstaande diagram ziet u de standaard- en niet-veilige benadering:

Beveiliging van de container

Als alternatieve en veilige benadering kunnen gebruikers van Cognitive Services-containers een container uitbreiden met een front-facing component, waardoor het container-eindpunt privé blijft. Laten we eens kijken naar een scenario waarin we Istio gebruiken als een gateway voor inkomend verkeer. Istio ondersteunt HTTPS/TLS- en clientcertificaatverificatie. In dit scenario geeft de Istio-front-end de toegang tot de container weer, waarbij het clientcertificaat wordt gepresenteerd dat vooraf is goedgekeurd met Istio.

Nginx is een andere populaire keuze in dezelfde categorie. Zowel Istio als Nginx fungeren als een service-mesh en bieden extra functies zoals taakverdeling, routering en snelheidscontrole.

Containernetwerken

De Cognitive Services-containers zijn vereist voor het verzenden van metergegevens voor factureringsdoeleinden. Het niet toestaan van de lijst met verschillende netwerkkanalen waarop de Cognitive Services-containers afhankelijk zijn, zorgt ervoor dat de container niet werkt.

Lijst met toegestane Cognitive Services-domeinen en -poorten

De host moet poort 443 en de volgende domeinen toestaan:

  • *.cognitive.microsoft.com
  • *.cognitiveservices.azure.com

Uitgebreide pakketinspectie uitschakelen

Deep Packet Inspection (DPI) is een type gegevensverwerking dat de gegevens die via een computernetwerk worden verzonden in detail inspecteert en meestal actie onderneemt door deze gegevens te blokkeren, opnieuw te routeren of dienovereenkomstig te registreren.

Schakel DPI uit voor de beveiligde kanalen die de Cognitive Services-containers maken voor Microsoft-servers. Als u dit niet doet, werkt de container niet goed.

Voorbeelden voor ontwikkelaars

Voorbeelden voor ontwikkelaars zijn beschikbaar in onze GitHub-opslagplaats.

Volgende stappen

Meer informatie over containerrecepten die u kunt gebruiken met de Cognitive Services.

Installeer en verken de functionaliteit van containers in Azure Cognitive Services: