Wat zijn Azure AI-containers?

Azure AI-services bieden 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 Azure AI-services dichter bij uw gegevens te brengen om naleving, beveiliging of andere operationele redenen. Containerondersteuning is momenteel beschikbaar voor een subset van Azure AI-services.

Containerisatie is een benadering van softwaredistributie waarbij een toepassing of service, met inbegrip van de bijbehorende afhankelijkheden en configuratie, samen wordt verpakt als een containerinstallatiekopieën. Met weinig of geen wijzigingen kan een containerinstallatiekopie worden geïmplementeerd op een containerhost. Containers worden 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: Schakel DevOps-teams in om gebruik te maken van een consistente en betrouwbare set bekende systeemparameters, 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 Azure AI-services. Dit kan essentieel zijn als u geen gegevens naar de cloud kunt verzenden, maar wel toegang nodig hebt tot API's van Azure AI-services. Ondersteuning voor consistentie in hybride omgevingen, voor gegevens, beheer, identiteit en beveiliging.
  • Controle over modelupdates: Flexibiliteit bij het versiebeheer en bijwerken van modellen die in hun oplossingen zijn geïmplementeerd.
  • Draagbare architectuur: maakt het mogelijk om een draagbare toepassingsarchitectuur te maken die kan worden geïmplementeerd in Azure, on-premises en de rand. Containers kunnen rechtstreeks worden geïmplementeerd in Azure Kubernetes Service, Azure Container Instances of naar een Kubernetes-cluster dat is geïmplementeerd in Azure Stack. Zie Kubernetes implementeren in Azure Stack voor meer informatie.
  • Hoge doorvoer/lage latentie: klanten de mogelijkheid bieden om te schalen voor hoge doorvoer- en lage latentievereisten door Azure AI-services in staat te stellen fysiek dicht bij hun toepassingslogica en -gegevens te worden uitgevoerd. Containers hebben geen limieten voor transacties per seconde (TPS) en kunnen worden gemaakt om zowel omhoog als uit te schalen om de vraag af te handelen als u de benodigde hardwarebronnen opgeeft.
  • Schaalbaarheid: Met de steeds groeiende populariteit van containerisatie- en containerindelingssoftware, zoals Kubernetes, ligt schaalbaarheid voorop in technologische ontwikkelingen. Op basis van een schaalbare clusterbasis is toepassingsontwikkeling geschikt voor hoge beschikbaarheid.

Containers in Azure AI-services

Azure AI-containers bieden de volgende set Docker-containers, die elk een subset van functionaliteit van services in Azure AI-services bevatten. U vindt instructies en afbeeldingslocaties in de onderstaande tabellen.

Beslissingscontainers

Service Container Beschrijving Beschikbaarheid
Anomaly Detector 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 van de container verzamelen en deze weer 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) Extraheert sleuteltermen 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) Voor maximaal 120 talen detecteert u in welke taal de invoertekst is geschreven en rapporteert u één taalcode voor elk document dat op de aanvraag is 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 voor 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 (afbeelding) Medische informatie extraheren en labelen uit ongestructureerde klinische tekst. Algemeen beschikbaar
Taalservice Benoemde entiteitsherkenning (afbeelding) Benoemde entiteiten extraheren uit tekst. Algemeen verkrijgbaar.
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.
Taalservice Aangepaste entiteitsherkenning met benoemde namen (afbeelding) Extraheer benoemde entiteiten uit tekst met behulp van een aangepast model dat u maakt met behulp van uw gegevens. Algemeen beschikbaar
Taalservice Samenvatting (afbeelding) Tekst uit verschillende bronnen samenvatten. Openbare preview.
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.
Translator Vertalen (afbeelding) Tekst vertalen in verschillende talen en dialecten. Algemeen verkrijgbaar. Gated - toegang aanvragen.
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.

Spraakcontainers

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
Deze container kan ook worden uitgevoerd in niet-verbonden omgevingen.
Speech Service-API Neurale tekst naar spraak (afbeelding) Converteert tekst naar natuurlijke 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 Spraaktaalidentificatie (afbeelding) Bepaalt de taal van gesproken audio. Preview

Vision-containers

Service Container Beschrijving Beschikbaarheid
Azure AI Vision OCR lezen (afbeelding) Met de READ OCR-container kunt u gedrukte en handgeschreven tekst extraheren uit afbeeldingen en documenten met ondersteuning voor JPEG-, PNG-, BMP-, PDF- en TIFF-bestandsindelingen. Zie de documentatie voor 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 streamingvideo om inzicht te hebben in ruimtelijke relaties tussen mensen, hun beweging en interacties met objecten in fysieke omgevingen. Preview

Daarnaast worden sommige containers ondersteund in de azure AI-services voor resourceaanbiedingen met meerdere services. U kunt één All-In-One-resource voor Azure AI-services maken en dezelfde factureringssleutel gebruiken voor ondersteunde services voor de volgende services:

  • Azure AI Vision
  • LUIS
  • Taalservice

Vereisten

U moet voldoen aan de volgende vereisten voordat u Azure AI-containers gebruikt:

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

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

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

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.

Containerbeveiliging van Azure AI-services

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

Belangrijk

Standaard is er geen beveiliging in de Container-API van Azure AI-services. De reden hiervoor is dat de container meestal wordt uitgevoerd als onderdeel van een pod die wordt beveiligd tegen de buitenkant door een netwerkbrug. Het is echter mogelijk dat gebruikers hun eigen verificatie-infrastructuur samenstellen om de verificatiemethoden te benaderen die worden gebruikt bij het openen van de Azure AI-services in de cloud.

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

Container security

Als voorbeeld van een alternatieve en veilige benadering kunnen consumenten van Azure AI-containers een container uitbreiden met een frontgerichte component, waardoor het containereindpunt privé blijft. Laten we eens kijken naar een scenario waarin We Istio gebruiken als een ingangsgateway. Istio ondersteunt HTTPS/TLS- en clientcertificaatverificatie. In dit scenario maakt de Istio-front-end de containertoegang beschikbaar, waarbij het clientcertificaat wordt weergegeven 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 aanvullende functies, zoals taakverdeling, routering en snelheidsbeheer.

Containernetwerken

De Azure AI-containers zijn vereist voor het verzenden van metergegevens voor factureringsdoeleinden. Het toestaan van de acceptatielijst van verschillende netwerkkanalen waarop de Azure AI-containers afhankelijk zijn, voorkomt dat de container werkt.

Domeinen en poorten van Azure AI-services toestaan

De host moet poort 443 en de volgende domeinen toestaan:

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

Grondige 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 de gegevens dienovereenkomstig te blokkeren, opnieuw te routeren of te registreren.

Schakel DPI uit op de beveiligde kanalen die door de Azure AI-containers worden gemaakt op Microsoft-servers. Als u dit niet doet, wordt voorkomen dat de container correct functioneert.

Voorbeelden voor ontwikkelaars

Voorbeelden van ontwikkelaars zijn beschikbaar in onze GitHub-opslagplaats.

Volgende stappen

Meer informatie over containerrecepten die u kunt gebruiken met de Azure AI-services.

Installeer en verken de functionaliteit van containers in Azure AI-services: