Was sind Azure Cognitive Services-Container?

Azure Cognitive Services bietet mehrere Docker-Container, mit denen Sie lokal die gleichen APIs verwenden können, die in Azure verfügbar sind. Die Verwendung dieser Container gibt Ihnen die Flexibilität, Cognitive Services aus Compliance-, Sicherheits- oder anderen betrieblichen Gründen näher an Ihre Daten heranzubringen. Die Containerunterstützung ist derzeit für einige Dienste von Azure Cognitive Services verfügbar.

Die Verwendung von Containern ist ein Ansatz zur Softwareverteilung, bei dem eine Anwendung oder ein Dienst, einschließlich der Abhängigkeiten & der Konfiguration, als Containerimage zusammengepackt wird. Das Containerimage kann mit geringer oder ganz ohne Bearbeitung auf einem Containerhost bereitgestellt werden. Container sind voneinander und vom zugrunde liegenden Betriebssystem isoliert und nehmen weniger Speicher in Anspruch als ein virtueller Computer. Container können für kurzfristige Aufgaben über Containerimages instanziiert und wieder entfernt werden, wenn sie nicht mehr benötigt werden.

Features und Vorteile

  • Unveränderliche Infrastruktur: Ermöglichen Sie es den DevOps-Teams, einen konsistenten und zuverlässigen Satz bekannter Systemparameter zu nutzen und sich zugleich an Änderungen anzupassen. Container bieten die Flexibilität, sich innerhalb eines vorhersehbaren Ökosystems zu bewegen und Konfigurationsabweichungen zu vermeiden.
  • Kontrolle über Daten: Wählen Sie aus, wo Ihre Daten von Cognitive Services verarbeitet werden. Dies kann wichtig sein, wenn Sie keine Daten an die Cloud senden können, aber Zugriff auf Cognitive Services-APIs benötigen. Einheitliche Unterstützung in Hybridumgebungen – für Daten, Verwaltung, Identität und Sicherheit.
  • Kontrolle über Modellaktualisierungen: Flexibilität bei der Versionsverwaltung und Aktualisierung der in den Lösungen eingesetzten Modelle.
  • Portable Architektur: Ermöglicht die Erstellung einer portablen Anwendungsarchitektur, die in Azure, lokal und am Edge eingesetzt werden kann. Container können direkt für Azure Kubernetes Service, Azure Container Instances oder einen Kubernetes-Cluster mit Bereitstellung in Azure Stack bereitgestellt werden. Weitere Informationen finden Sie unter Bereitstellen von Kubernetes in Azure Stack.
  • Hoher Durchsatz/niedrige Latenz: Bietet Kunden die Möglichkeit, für hohe Durchsatzraten und niedrige Latenzanforderungen zu skalieren, indem Cognitive Services physisch in der Nähe ihrer Anwendungslogik und -daten ausgeführt wird. Container erzwingen keine Obergrenzen für die Transaktionen pro Sekunde (TPS) und können für die zentrale und horizontale Skalierung konfiguriert werden, um bei Bedarf die erforderlichen Hardwareressourcen bereitzustellen.
  • Skalierbarkeit: Mit der ständig wachsenden Beliebtheit von Software für Containerisierung und Containerorchestrierung wie Kubernetes steht die Skalierbarkeit steht im Vordergrund des technologischen Fortschritts. Aufbauend auf einer skalierbaren Clusterbasis sorgt die Anwendungsentwicklung für eine entsprechende Hochverfügbarkeit.

Container in Azure Cognitive Services

Azure Cognitive Services-Container bieten den folgenden Satz von Docker-Containern, von denen jeder eine Teilmenge der Funktionalität von Diensten in Azure Cognitive Services enthält. Anweisungen und Imagespeicherorte finden Sie in den folgenden Tabellen.

Hinweis

Weitere Informationen finden Sie unter Installieren und Ausführen von Formularerkennungs-Containern für Applied AI Services-Formularerkennung Containeranweisungen und Imagespeicherorte.

Entscheidungscontainer

Dienst Container BESCHREIBUNG Verfügbarkeit
Anomalieerkennung Anomalieerkennung (Image) Die Anomalieerkennungs-API bietet Ihnen die Möglichkeit, Anomalien in Zeitreihendaten durch maschinelles Lernen zu überwachen und zu erkennen. Allgemein verfügbar

Sprachcontainer

Dienst Container BESCHREIBUNG Verfügbarkeit
LUIS LUIS (Image) Lädt Ihr trainiertes oder veröffentlichtes Language Understanding-Modell (auch als LUIS-App bezeichnet) in einen Docker-Container und ermöglicht den Zugriff auf die Abfragevorhersagen von den API-Endpunkten des Containers. Sie können Abfrageprotokolle vom Container erfassen und wieder in das LUIS-Portal hochladen, um die Vorhersagegenauigkeit der App zu verbessern. Allgemein verfügbar.
Dieser Container kann auch in nicht verbundenen Umgebungen ausgeführt werden.
Sprachdienst Schlüsselbegriffserkennung (Bild) Extrahiert die Schlüsselbegriffe, um die wichtigsten Punkte zu ermitteln. Wenn der eingegebene Text beispielsweise „Das Essen war köstlich, und es gab hervorragendes Personal“ lautet, gibt die API die Kernpunkte „Essen“ und „hervorragendes Personal“ zurück. Allgemein verfügbar.
Dieser Container kann auch in nicht verbundenen Umgebungen ausgeführt werden.
Sprachdienst Textsprachenerkennung (Image) Erkennt die Sprache von Eingabetexten für bis zu 120 Sprachen und meldet einen einzigen Sprachcode für jedes Dokument, das auf Anforderung gesendet wird. Der Sprachcode ist mit einem Wert kombiniert, der die Stärke der Bewertung angibt. Allgemein verfügbar.
Dieser Container kann auch in nicht verbundenen Umgebungen ausgeführt werden.
Sprachdienst Standpunktanalyse (Bild) Analysiert unformatierten Text auf Hinweise auf positive oder negative Stimmungen. Von dieser Version der Standpunktanalyse werden für jedes Dokument und jeden darin enthaltenen Satz Stimmungsbezeichnungen (beispielsweise Positiv oder Negativ) zurückgegeben. Allgemein verfügbar.
Dieser Container kann auch in nicht verbundenen Umgebungen ausgeführt werden.
Sprachdienst Textanalyse für das Gesundheitssystem (Image) Extraktion und Bezeichnung medizinischer Informationen aus unstrukturiertem klinischem Text. Allgemein verfügbar
Translator Textübersetzung (Image) Übersetzt Text in verschiedene Sprachen und Dialekte. Allgemein verfügbar. Gated – Klicken Sie auf Zugriff anfordern.
Dieser Container kann auch in nicht verbundenen Umgebungen ausgeführt werden.

Speech-Container

Hinweis

Sie müssen für die Verwendung von Speech-Containern ein Onlineanforderungsformular ausfüllen.

Dienst Container BESCHREIBUNG Verfügbarkeit
Spracherkennungsdienst-API Spracherkennung (Abbildung) Wandelt fortlaufende Sprache in Echtzeit in Text um. Allgemein verfügbar.
Dieser Container kann auch in nicht verbundenen Umgebungen ausgeführt werden.
Spracherkennungsdienst-API Benutzerdefinierte Spracherkennung (Abbildung) Wandelt fortlaufende Sprache in Echtzeit in Text um und verwendet dazu ein benutzerdefiniertes Modell. Allgemein verfügbar
Dieser Container kann auch in nicht verbundenen Umgebungen ausgeführt werden.
Spracherkennungsdienst-API Neuronale Sprachsynthese (Abbildung) Konvertiert Text mithilfe von Deep Neural Network-Technologie in natürlich klingende Sprache, die eine natürlichere synthetische Sprache ermöglicht. Allgemein verfügbar.
Dieser Container kann auch in nicht verbundenen Umgebungen ausgeführt werden.
Spracherkennungsdienst-API Speech-Sprachenerkennung (Image) Bestimmt die Sprache der gesprochenen Audiodaten. Beschränkte Vorschauversion

Vision-Container

Dienst Container BESCHREIBUNG Verfügbarkeit
Maschinelles Sehen Read OCR (Image) Mit dem Read OCR-Container können Sie gedruckten und handschriftlichen Text aus Bildern und Dokumenten mit Unterstützung für die Dateiformate JPEG, PNG, BMP, PDF und TIFF extrahieren. Weitere Informationen finden Sie in der Dokumentation zur Lese-API. Allgemein verfügbar Dieser Container kann auch in nicht verbundenen Umgebungen ausgeführt werden.
Räumliche Analyse Räumliche Analyse (Image) Analysiert in Echtzeit gestreamte Videodaten, um räumliche Bezüge zwischen Personen, ihre Bewegungen und ihre Interaktionen mit Objekten in der physischen Umgebung zu verstehen. Vorschau

Darüber hinaus werden einige Container im Angebot einer Ressource für mehrere Dienste von Cognitive Services unterstützt. Sie können eine einzelne All-In-One-Ressource von Cognitive Services erstellen und denselben Abrechnungsschlüssel für alle unterstützten Dienste verwenden:

  • Maschinelles Sehen
  • LUIS
  • Sprachdienst

Voraussetzungen

Sie müssen die folgenden Voraussetzungen erfüllen, bevor Sie die Container der Azure Cognitive Services verwenden können:

Docker-Engine: Die Docker-Engine muss lokal installiert sein. Docker stellt Pakete zur Konfiguration der Docker-Umgebung unter macOS, Linux und Windows zur Verfügung. Unter Windows muss Docker für die Unterstützung von Linux-Containern konfiguriert werden. Docker-Container können auch direkt für Azure Kubernetes Service oder Azure Container Instances bereitgestellt werden.

Docker muss so konfiguriert werden, dass die Container eine Verbindung mit Azure herstellen und Abrechnungsdaten an Azure senden können.

Kenntnisse von Microsoft Container Registry und Docker: Sie sollten über Grundkenntnisse der Konzepte von Microsoft Container Registry und Docker verfügen, einschließlich Registrierungen, Repositorys, Container und Containerimages, und die grundlegenden docker-Befehle kennen.

Eine Einführung in Docker und Container finden Sie in der Docker-Übersicht.

Einzelne Container können auch ihre eigenen Anforderungen haben, wie z.B. Anforderungen an die Server- und Speicherzuordnung.

Containersicherheit in Azure Cognitive Services

Bei der Entwicklung von Anwendungen sollte die Sicherheit im Vordergrund stehen. Die Bedeutung von Sicherheit ist ein Erfolgskriterium. Wenn Sie eine Softwarelösung entwickeln, die Cognitive Services-Container enthält, ist es wichtig, die Grenzen und Möglichkeiten zu verstehen, die Ihnen zur Verfügung stehen. Weitere Informationen zur Netzwerksicherheit finden Sie unter Konfigurieren von virtuellen Netzwerken für Azure Cognitive Services.

Wichtig

Standardmäßig ist keine Sicherheit für die Cognitive Services-Container-API vorhanden. Der Grund dafür ist, dass der Container meist als Teil eines Pod ausgeführt wird, das von außen durch eine Netzwerkbrücke geschützt ist. Es ist jedoch möglich, die Authentifizierung zu aktivieren, die identisch zu der Authentifizierung funktioniert, die beim Zugriff auf die cloudbasierten Cognitive Services verwendet wird.

Das Diagramm unten veranschaulicht den standardmäßigen und nicht sicheren Ansatz:

Containersicherheit

Als alternativer und sicherer Ansatz könnten Consumer von Cognitive Services-Containern einen Container mit einer Frontkomponente erweitern, wodurch der Containerendpunkt privat bleibt. Betrachten wir ein Szenario, in dem Istio als Eingangsgateway verwendet wird. Istio unterstützt HTTPS/TLS und die Authentifizierung über Clientzertifikate. In diesem Szenario stellt das Istio-Front-End den Containerzugriff bereit und präsentiert das Clientzertifikat, das zuvor von Istio genehmigt wurde.

Nginx ist eine weitere beliebte Option in derselben Kategorie. Sowohl Istio als auch Nginx fungieren als Dienstnetz und bieten zusätzliche Features wie Lastenausgleich, Routing und Ratensteuerung.

Containernetzwerke

Die Cognitive Services-Container sind erforderlich, um Messungsinformationen zu Abrechnungszwecken zu übermitteln. Wenn Sie die verschiedenen Netzwerkkanäle, auf die sich die Cognitive Services-Container stützen, nicht in einer Zulassungsliste aufführen, funktionieren die Container nicht.

Cognitive Services-Domänen und Ports in der Zulassungsliste aufführen

Der Host sollte Port 443 und die folgenden Domänen in der Zulassungsliste aufführen:

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

Deaktivieren der eingehenden Paketuntersuchung

Eingehende Paketuntersuchung (Deep Packet Inspection, DPI) ist eine Art der Datenverarbeitung, bei der die in einem Computernetzwerk gesendeten Daten im Detail untersucht werden. Die zur Verfügung stehenden Maßnahmen sind Blockieren, Umleiten oder Protokollieren von Daten.

Deaktivieren Sie DPI für die sicheren Kanäle, die von Cognitive Services-Containern zu Microsoft-Servern erstellt werden. Andernfalls funktionieren die Container nicht ordnungsgemäß.

Entwicklerbeispiele

Beispiele für Entwickler finden Sie in unserem GitHub-Repository.

Nächste Schritte

Erfahren Sie mehr zu Containeranleitungen, die Sie mit Cognitive Services verwenden können.

Installieren und erkunden Sie die Funktionalität der Container in Azure Cognitive Services: