

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Visualisieren Sie AI/ML Modellergebnisse mit Flask und AWS Elastic Beanstalk
<a name="visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk"></a>

*Chris Caudill und Durga Sury, Amazon Web Services*

## Zusammenfassung
<a name="visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk-summary"></a>

Die Visualisierung der Ergebnisse von Diensten für künstliche Intelligenz und maschinelles Lernen (KI/ML) erfordert häufig komplexe API-Aufrufe, die von Ihren Entwicklern und Technikern angepasst werden müssen. Dies kann ein Nachteil sein, wenn Ihre Analysten schnell einen neuen Datensatz untersuchen möchten.

Sie können die Zugänglichkeit Ihrer Dienste verbessern und eine interaktivere Form der Datenanalyse bereitstellen, indem Sie eine webbasierte Benutzeroberfläche (UI) verwenden, über die Benutzer ihre eigenen Daten hochladen und die Modellergebnisse in einem Dashboard visualisieren können.

Dieses Muster verwendet [Flask](https://flask.palletsprojects.com/en/2.0.x/) und [Plotly](https://plotly.com/), um Amazon Comprehend in eine benutzerdefinierte Webanwendung zu integrieren und Stimmungen und Entitäten anhand von Benutzerdaten zu visualisieren. Das Muster enthält auch die Schritte zur Bereitstellung einer Anwendung mithilfe von AWS Elastic Beanstalk. Sie können die Anwendung mithilfe der [KI-Services von Amazon Web Services (AWS)](https://aws.amazon.com/machine-learning/ai-services/) oder mithilfe eines speziell trainierten Modells anpassen, das auf einem Endpunkt (z. B. einem [ SageMaker Amazon-Endpunkt](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html)) gehostet wird.

## Voraussetzungen und Einschränkungen
<a name="visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto. 
+ AWS-Befehlszeilenschnittstelle (AWS CLI), auf Ihrem lokalen Computer installiert und konfiguriert. Weitere Informationen dazu finden Sie unter [Grundlagen der Konfiguration](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) in der AWS-CLI-Dokumentation. Sie können auch eine integrierte Entwicklungsumgebung (IDE) von AWS Cloud9 verwenden. Weitere Informationen dazu finden Sie im [Python-Tutorial für AWS Cloud9 und unter Vorschau laufender Anwendungen in der AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/sample-python.html) [Cloud9-IDE in der AWS Cloud9 Cloud9-Dokumentation](https://docs.aws.amazon.com/cloud9/latest/user-guide/app-preview.html).

  **Hinweis**: AWS Cloud9 ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS Cloud9 können den Service weiterhin wie gewohnt nutzen. [Weitere Informationen](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)
+ Ein Verständnis des Webanwendungs-Frameworks von Flask. Weitere Informationen zu Flask finden Sie im [Schnellstart](https://flask.palletsprojects.com/en/1.1.x/quickstart) in der Flask-Dokumentation.
+ Python Version 3.6 oder höher, installiert und konfiguriert. Sie können Python installieren, indem Sie den Anweisungen unter [Einrichten Ihrer Python-Entwicklungsumgebung](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/python-development-environment.html) in der Dokumentation zu AWS Elastic Beanstalk folgen.
+ Elastic Beanstalk Command Line Interface (EB CLI), installiert und konfiguriert. Weitere Informationen dazu finden Sie in [der Dokumentation zu AWS Elastic Beanstalk unter Installieren der EB-CLI](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html) [und Konfigurieren](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html) der EB-CLI.

**Einschränkungen**
+ Die Flask-Anwendung dieses Musters wurde für die Arbeit mit CSV-Dateien entwickelt, die eine einzige Textspalte verwenden und auf 200 Zeilen beschränkt sind. Der Anwendungscode kann an andere Dateitypen und Datenmengen angepasst werden.
+ Die Anwendung berücksichtigt keine Datenspeicherung und aggregiert weiterhin hochgeladene Benutzerdateien, bis sie manuell gelöscht werden. Sie können die Anwendung in Amazon Simple Storage Service (Amazon S3) für persistenten Objektspeicher integrieren oder eine Datenbank wie Amazon DynamoDB für die serverlose Speicherung von Schlüsselwerten verwenden.
+ Die Anwendung berücksichtigt nur Dokumente in englischer Sprache. Sie können Amazon Comprehend jedoch verwenden, um die Hauptsprache eines Dokuments zu ermitteln. Weitere Informationen zu den unterstützten Sprachen für jede Aktion finden Sie in der [API-Referenz](https://docs.aws.amazon.com/comprehend/latest/dg/API_Reference.html) in der Amazon Comprehend Comprehend-Dokumentation.
+ Eine Liste zur Fehlerbehebung, die häufig auftretende Fehler und deren Lösungen enthält, finden Sie im Abschnitt *Zusätzliche Informationen*.

## Architektur
<a name="visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk-architecture"></a>

**Die Architektur der Flask-Anwendung**

Flask ist ein leichtes Framework für die Entwicklung von Webanwendungen in Python. Es wurde entwickelt, um die leistungsstarke Datenverarbeitung von Python mit einer umfangreichen Weboberfläche zu kombinieren. Die Flask-Anwendung des Musters zeigt Ihnen, wie Sie eine Webanwendung erstellen, mit der Benutzer Daten hochladen, die Daten zur Inferenz an Amazon Comprehend senden und dann die Ergebnisse visualisieren können.   Die Anwendung hat die folgende Struktur:
+ `static`— Enthält alle statischen Dateien, die die Weboberfläche unterstützen (z. JavaScript B. CSS und Bilder)
+ `templates`— Enthält alle HTML-Seiten der Anwendung
+ `userData`— Speichert hochgeladene Benutzerdaten
+ `application.py`— Die Flask-Anwendungsdatei
+ `comprehend_helper.py`— Funktionen für API-Aufrufe an Amazon Comprehend
+ `config.py`— Die Konfigurationsdatei der Anwendung
+ `requirements.txt`— Die von der Anwendung benötigten Python-Abhängigkeiten

Das `application.py` Skript enthält die Kernfunktionalität der Webanwendung, die aus vier Flask-Routen besteht. Das folgende Diagramm zeigt diese Flask-Routen.

![\[Die vier Flask-Routen, die die Kernfunktionalität der Webanwendung ausmachen.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/03d80cf1-ec97-43f7-adb5-2746a9ec70e6/images/9ca6bad1-26e2-4262-98d0-d54c172336bf.png)


 
+ `/`ist das Stammverzeichnis der Anwendung und leitet Benutzer auf die `upload.html` Seite weiter (die im `templates` Verzeichnis gespeichert ist).
+ `/saveFile`ist eine Route, die aufgerufen wird, nachdem ein Benutzer eine Datei hochgeladen hat. Diese Route empfängt eine `POST` Anfrage über ein HTML-Formular, das die vom Benutzer hochgeladene Datei enthält. Die Datei wird im `userData` Verzeichnis gespeichert und die Route leitet Benutzer zur `/dashboard` Route weiter.
+ `/dashboard`sendet Benutzer auf die `dashboard.html` Seite. Im HTML-Code dieser Seite wird der JavaScript Code ausgeführt, der `static/js/core.js` Daten aus der `/data` Route liest und dann Visualisierungen für die Seite erstellt.
+ `/data`ist eine JSON-API, die die zu visualisierenden Daten im Dashboard präsentiert. Diese Route liest die vom Benutzer bereitgestellten Daten und verwendet die Funktionen, um die Benutzerdaten `comprehend_helper.py` zur Stimmungsanalyse und Named Entity Recognition (NER) an Amazon Comprehend zu senden. Die Antwort von Amazon Comprehend wird formatiert und als JSON-Objekt zurückgegeben.

**Architektur der Bereitstellung**

![\[Architekturdiagramm für die Verwendung von Flask und Elastic Beanstalk zur Visualisierung AI/ML von Modellergebnissen.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/03d80cf1-ec97-43f7-adb5-2746a9ec70e6/images/d691bfd2-e2ec-4830-8bff-ffa1e3a95c4a.png)


[Überlegungen zum Entwurf](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.concepts.design.html)

 Weitere Informationen zu Designüberlegungen für Anwendungen, die mit Elastic Beanstalk in der AWS-Cloud bereitgestellt werden, finden Sie in der Dokumentation zu AWS Elastic Beanstalk.

**Technologie-Stack**
+ Amazon Comprehend 
+ Elastic Beanstalk 
+ Flask 

**Automatisierung und Skalierung**

Elastic Beanstalk Beanstalk-Bereitstellungen werden automatisch mit Load Balancern und Auto Scaling-Gruppen eingerichtet. Weitere Konfigurationsoptionen finden Sie unter [Konfiguration von Elastic Beanstalk-Umgebungen in der Dokumentation zu AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html).

## Tools
<a name="visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ist ein einheitliches Tool, das eine konsistente Schnittstelle für die Interaktion mit allen Teilen von AWS bietet.
+ [Amazon Comprehend](https://docs.aws.amazon.com/comprehend/latest/dg/comprehend-general.html) verwendet Natural Language Processing (NLP), um Erkenntnisse über den Inhalt von Dokumenten zu gewinnen, ohne dass eine spezielle Vorverarbeitung erforderlich ist.
+ Mit [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) können Sie Anwendungen in der AWS-Cloud schnell bereitstellen und verwalten, ohne sich mit der Infrastruktur vertraut machen zu müssen, auf der diese Anwendungen ausgeführt werden.
+ [Elastic Beanstalk CLI (EB CLI)](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3.html) ist eine Befehlszeilenschnittstelle für AWS Elastic Beanstalk, die interaktive Befehle bereitstellt, um die Erstellung, Aktualisierung und Überwachung von Umgebungen aus einem lokalen Repository zu vereinfachen.
+ Das [Flask-Framework](https://flask.palletsprojects.com/en/2.0.x/) führt Datenverarbeitung und API-Aufrufe mit Python durch und bietet interaktive Webvisualisierung mit Plotly.

**Code**

Der Code für dieses Muster ist im Repository GitHub [Visualize AI/ML model results using Flask and AWS Elastic Beanstalk](https://github.com/aws-samples/aws-comprehend-elasticbeanstalk-for-flask) verfügbar.

## Epen
<a name="visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk-epics"></a>

### Richten Sie die Flask-Anwendung ein
<a name="set-up-the-flask-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Klonen Sie das GitHub Repository. | Rufen Sie den Anwendungscode aus dem GitHub [Visualize AI/ML Model Results using Flask and AWS Elastic Beanstalk](https://github.com/aws-samples/aws-comprehend-elasticbeanstalk-for-flask) Repository ab, indem Sie den folgenden Befehl ausführen:`git clone git@github.com:aws-samples/aws-comprehend-elasticbeanstalk-for-flask.git`Stellen Sie sicher, dass Sie Ihre SSH-Schlüssel mit konfigurieren. GitHub | Developer | 
| Installieren Sie die Python-Module. | Nachdem Sie das Repository geklont haben, wird ein neues lokales `aws-comprehend-elasticbeanstalk-for-flask` Verzeichnis erstellt. In diesem Verzeichnis enthält die `requirements.txt` Datei die Python-Module und -Versionen, die die Anwendung ausführen. Verwenden Sie die folgenden Befehle, um die Module zu installieren:`cd aws-comprehend-elasticbeanstalk-for-flask``pip install -r requirements.txt` | Python-Entwickler | 
| Testen Sie die Anwendung lokal. | Starten Sie den Flask-Server, indem Sie den folgenden Befehl ausführen:`python application.py`Dies gibt Informationen über den laufenden Server zurück. Sie sollten auf die Anwendung zugreifen können, indem Sie einen Browser öffnen und http://localhost:5000 aufrufenWenn Sie die Anwendung in einer AWS Cloud9 Cloud9-IDE ausführen, müssen Sie den `application.run()` Befehl in der `application.py` Datei durch die folgende Zeile ersetzen:`application.run(host=os.getenv('IP', '0.0.0.0'),port=int(os.getenv('PORT', 8080)))`Sie müssen diese Änderung vor der Bereitstellung rückgängig machen. | Python-Entwickler | 

### Stellen Sie die Anwendung auf Elastic Beanstalk bereit
<a name="deploy-the-application-to-elastic-beanstalk"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Starten Sie die Elastic Beanstalk Beanstalk-Anwendung. | Um Ihr Projekt als Elastic Beanstalk Beanstalk-Anwendung zu starten, führen Sie den folgenden Befehl im Stammverzeichnis Ihrer Anwendung aus:`eb init -p python-3.6 comprehend_flask --region us-east-1`[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk.html)Führen Sie den `eb init -i` Befehl aus, um weitere Konfigurationsoptionen für die Bereitstellung zu erhalten. | Architekt, Entwickler | 
| Stellen Sie die Elastic Beanstalk Beanstalk-Umgebung bereit. | Führen Sie den folgenden Befehl im Stammverzeichnis der Anwendung aus:`eb create comprehend-flask-env``comprehend-flask-env`ist der Name der Elastic Beanstalk Beanstalk-Umgebung und kann entsprechend Ihren Anforderungen geändert werden. Der Name darf nur Buchstaben, Zahlen und Bindestriche enthalten. | Architekt, Entwickler | 
| Autorisieren Sie Ihre Bereitstellung für die Verwendung von Amazon Comprehend. | Obwohl Ihre Anwendung möglicherweise erfolgreich bereitgestellt wurde, sollten Sie Ihrer Bereitstellung auch Zugriff auf Amazon Comprehend gewähren. `ComprehendFullAccess`ist eine von AWS verwaltete Richtlinie, die der bereitgestellten Anwendung Berechtigungen zum Durchführen von API-Aufrufen an Amazon Comprehend gewährt.Fügen Sie die `ComprehendFullAccess` Richtlinie hinzu `aws-elasticbeanstalk-ec2-role` (diese Rolle wird automatisch für die Amazon Elastic Compute Cloud (Amazon EC2) -Instances Ihrer Bereitstellung erstellt), indem Sie den folgenden Befehl ausführen:`aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/ComprehendFullAccess --role-name aws-elasticbeanstalk-ec2-role``aws-elasticbeanstalk-ec2-role`wird erstellt, wenn Ihre Anwendung bereitgestellt wird. Sie müssen den Bereitstellungsprozess abschließen, bevor Sie die AWS Identity and Access Management (IAM) -Richtlinie anhängen können. | Entwickler, Sicherheitsarchitekt | 
| Besuchen Sie Ihre bereitgestellte Anwendung. | Nachdem Ihre Anwendung erfolgreich bereitgestellt wurde, können Sie sie aufrufen, indem Sie den `eb open` Befehl ausführen.Sie können den `eb status` Befehl auch ausführen, um Details zu Ihrer Bereitstellung zu erhalten. Die Bereitstellungs-URL ist unter aufgeführt`CNAME`. | Architekt, Entwickler | 

### (Optional) Passen Sie die Anwendung an Ihr ML-Modell an
<a name="optional-customize-the-application-to-your-ml-model"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Autorisieren Sie Elastic Beanstalk, auf das neue Modell zuzugreifen. | Stellen Sie sicher, dass Elastic Beanstalk über die erforderlichen Zugriffsberechtigungen für Ihren neuen Modellendpunkt verfügt. Wenn Sie beispielsweise einen SageMaker Amazon-Endpunkt verwenden, benötigt Ihre Bereitstellung die Erlaubnis, den Endpunkt aufzurufen. Weitere Informationen dazu finden Sie [InvokeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html)in der SageMaker Amazon-Dokumentation. | Entwickler, Sicherheitsarchitekt | 
| Senden Sie die Benutzerdaten an ein neues Modell. | Um das zugrunde liegende ML-Modell in dieser Anwendung zu ändern, müssen Sie die folgenden Dateien ändern:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk.html) | Datenwissenschaftler | 
| Aktualisieren Sie die Dashboard-Visualisierungen. | In der Regel bedeutet die Integration eines neuen ML-Modells, dass die Visualisierungen aktualisiert werden müssen, um die neuen Ergebnisse widerzuspiegeln. Diese Änderungen werden in den folgenden Dateien vorgenommen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk.html) | Web-Entwickler | 

### (Optional) Stellen Sie die aktualisierte Anwendung bereit
<a name="optional-deploy-the-updated-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Aktualisieren Sie die Anforderungsdatei Ihrer Bewerbung. | Bevor Sie Änderungen an Elastic Beanstalk senden, aktualisieren Sie die `requirements.txt` Datei, sodass sie alle neuen Python-Module widerspiegelt, indem Sie den folgenden Befehl im Stammverzeichnis Ihrer Anwendung ausführen:`pip freeze > requirements.txt` | Python-Entwickler | 
| Stellen Sie die Elastic Beanstalk Beanstalk-Umgebung erneut bereit. | Um sicherzustellen, dass Ihre Anwendungsänderungen in Ihrem Elastic Beanstalk-Deployment widergespiegelt werden, navigieren Sie zum Stammverzeichnis Ihrer Anwendung und führen Sie den folgenden Befehl aus:`eb deploy`Dadurch wird die neueste Version des Anwendungscodes an Ihr vorhandenes Elastic Beanstalk-Deployment gesendet. | Systemadministrator, Architekt | 

## Zugehörige Ressourcen
<a name="visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk-resources"></a>
+ [Rufen Sie mit Amazon API Gateway und AWS Lambda einen SageMaker Amazon-Modellendpunkt auf](https://aws.amazon.com/blogs/machine-learning/call-an-amazon-sagemaker-model-endpoint-using-amazon-api-gateway-and-aws-lambda/)
+ [Bereitstellung einer Flask-Anwendung auf Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html)
+ [EB CLI-Befehlsreferenz](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-cmd-commands.html)
+ [Einrichtung Ihrer Python-Entwicklungsumgebung](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/python-development-environment.html)

## Zusätzliche Informationen
<a name="visualize-ai-ml-model-results-using-flask-and-aws-elastic-beanstalk-additional"></a>

**Liste der Problemlösungen**

Im Folgenden finden Sie sechs häufig auftretende Fehler und deren Lösungen.

***Fehler 1***

```
Unable to assume role "arn:aws:iam::xxxxxxxxxx:role/aws-elasticbeanstalk-ec2-role". Verify that the role exists and is configured correctly.
```

**Lösung**: Wenn dieser Fehler bei der Ausführung auftritt`eb create`, erstellen Sie eine Beispielanwendung auf der Elastic Beanstalk Beanstalk-Konsole, um das Standard-Instance-Profil zu erstellen. Weitere Informationen dazu finden Sie in der Dokumentation zu AWS [Elastic Beanstalk unter Creating an Elastic Beanstalk Environment](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.environments.html).

***Fehler 2***

```
Your WSGIPath refers to a file that does not exist.
```

**Lösung:** Dieser Fehler tritt in den Bereitstellungsprotokollen auf, weil Elastic Beanstalk erwartet, dass der Flask-Code benannt wird. `application.py` Wenn Sie einen anderen Namen gewählt haben, führen Sie den aus `eb config` und bearbeiten Sie ihn WSGIPath wie im folgenden Codebeispiel gezeigt:

```
aws:elasticbeanstalk:container:python:
     NumProcesses: '1'
     NumThreads: '15'
     StaticFiles: /static/=static/
     WSGIPath: application.py
```

Stellen Sie sicher, dass Sie es `application.py` durch Ihren Dateinamen ersetzen.

Sie können auch Gunicorn und ein Profil nutzen. Weitere Informationen zu diesem Ansatz finden Sie unter [Konfiguration des WSGI-Servers mit einem Profil in der AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/python-configuration-procfile.html) Beanstalk-Dokumentation.

***Fehler 3***

```
Target WSGI script '/opt/python/current/app/application.py' does not contain WSGI application 'application'.
```

**Lösung:** Elastic Beanstalk erwartet, dass die Variable, die Ihre Flask-Anwendung repräsentiert, benannt wird. `application` Stellen Sie sicher, dass die `application.py` Datei `application` als Variablennamen verwendet:

```
application = Flask(__name__)
```

***Fehler 4***

```
The EB CLI cannot find your SSH key file for keyname
```

**Lösung:** Verwenden Sie die EB-CLI, um anzugeben, welches key pair verwendet werden soll, oder um ein key pair für die EC2-Instances Ihrer Bereitstellung zu erstellen. Um den Fehler zu beheben, führen Sie den `eb init -i` Befehl aus und eine der Optionen wird Sie fragen:

```
Do you want to set up SSH for your instances?
```

Antworten Sie mit`Y`, um entweder ein key pair zu erstellen oder ein vorhandenes key pair anzugeben.

***Fehler 5***

*Ich habe meinen Code aktualisiert und erneut bereitgestellt, aber meine Bereitstellung spiegelt meine Änderungen nicht wider.*

**Lösung**: Wenn du ein Git-Repository mit deiner Bereitstellung verwendest, stelle sicher, dass du deine Änderungen hinzufügst und festschreibst, bevor du sie erneut bereitstellst.

***Fehler 6***

*Sie zeigen eine Vorschau der Flask-Anwendung von einer AWS Cloud9 Cloud9-IDE aus und stoßen auf Fehler.*

**Lösung:** Weitere Informationen dazu finden Sie unter [Vorschau laufender Anwendungen in der AWS Cloud9 Cloud9-IDE in der AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/app-preview.html) Cloud9-Dokumentation.

 

 

**Verarbeitung natürlicher Sprache mit Amazon Comprehend**

Wenn Sie sich für Amazon Comprehend entscheiden, können Sie benutzerdefinierte Entitäten in einzelnen Textdokumenten erkennen, indem Sie Echtzeitanalysen oder asynchrone Batch-Jobs ausführen. Mit Amazon Comprehend können Sie auch benutzerdefinierte Modelle zur Erkennung von Entitäten und zur Textklassifizierung trainieren, die in Echtzeit verwendet werden können, indem Sie einen Endpunkt erstellen.

Dieses Muster verwendet asynchrone Batch-Jobs, um Stimmungen und Entitäten aus einer Eingabedatei zu erkennen, die mehrere Dokumente enthält. Die in diesem Muster bereitgestellte Beispielanwendung ist so konzipiert, dass Benutzer eine CSV-Datei hochladen können, die eine einzelne Spalte mit einem Textdokument pro Zeile enthält. Die `comprehend_helper.py` Datei im Repository GitHub [Visualize AI/ML model results using Flask and AWS Elastic Beanstalk](https://github.com/aws-samples/aws-comprehend-elasticbeanstalk-for-flask) liest die Eingabedatei und sendet die Eingabe zur Verarbeitung an Amazon Comprehend.

*BatchDetectEntities*

Amazon Comprehend untersucht den Text eines Stapels von Dokumenten auf benannte Entitäten und gibt die erkannte Entität, den Standort, den [Entitätstyp und eine Bewertung zurück, die das Vertrauensniveau von](https://docs.aws.amazon.com/comprehend/latest/dg/how-entities.html) Amazon Comprehend angibt. In einem API-Aufruf können maximal 25 Dokumente gesendet werden, wobei jedes Dokument kleiner als 5.000 Byte ist. Sie können die Ergebnisse filtern, sodass nur bestimmte Entitäten angezeigt werden, die auf dem Anwendungsfall basieren. Sie könnten beispielsweise den `‘quantity’` Entitätstyp überspringen und einen Schwellenwert für die erkannte Entität festlegen (z. B. 0,75). Wir empfehlen Ihnen, die Ergebnisse für Ihren speziellen Anwendungsfall zu untersuchen, bevor Sie einen Schwellenwert auswählen. Weitere Informationen dazu finden Sie [BatchDetectEntities](https://docs.aws.amazon.com/comprehend/latest/dg/API_BatchDetectEntities.html)in der Amazon Comprehend Comprehend-Dokumentation.

*BatchDetectSentiment*

Amazon Comprehend prüft einen Stapel eingehender Dokumente und gibt die vorherrschende Stimmung für jedes Dokument zurück (`POSITIVE`,`NEUTRAL`, `MIXED` oder). `NEGATIVE` In einem API-Aufruf können maximal 25 Dokumente gesendet werden, wobei jedes Dokument kleiner als 5.000 Byte ist. Die Stimmungsanalyse ist unkompliziert, und Sie wählen die Stimmung mit der höchsten Punktzahl aus, die in den Endergebnissen angezeigt werden soll. Weitere Informationen dazu finden Sie [BatchDetectSentiment](https://docs.aws.amazon.com/comprehend/latest/dg/API_BatchDetectSentiment.html)in der Amazon Comprehend Comprehend-Dokumentation.

 

 

**Handhabung der Flask-Konfiguration**

Flask-Server verwenden eine Reihe von [Konfigurationsvariablen](https://flask.palletsprojects.com/en/1.1.x/config/), um zu steuern, wie der Server läuft. Diese Variablen können Debug-Ausgaben, Sitzungstoken oder andere Anwendungseinstellungen enthalten. Sie können auch benutzerdefinierte Variablen definieren, auf die zugegriffen werden kann, während die Anwendung ausgeführt wird. Es gibt mehrere Ansätze zum Setzen von Konfigurationsvariablen.

In diesem Muster wird die Konfiguration definiert `config.py` und darin vererbt`application.py`.
+ 
**Anmerkung**  
`config.py`enthält die Konfigurationsvariablen, die beim Start der Anwendung eingerichtet werden. In dieser Anwendung ist eine `DEBUG` Variable definiert, die der Anwendung mitteilt, den Server im [Debug-Modus](https://flask.palletsprojects.com/en/1.1.x/config/#DEBUG) auszuführen. : Der Debug-Modus sollte nicht verwendet werden, wenn eine Anwendung in einer Produktionsumgebung ausgeführt wird. `UPLOAD_FOLDER`ist eine benutzerdefinierte Variable, die so definiert ist, dass sie später in der Anwendung referenziert wird und sie darüber informiert, wo hochgeladene Benutzerdaten gespeichert werden sollen.
+ `application.py`initiiert die Flask-Anwendung und erbt die in definierten Konfigurationseinstellungen. `config.py` Dies wird durch den folgenden Code ausgeführt:

```
application = Flask(__name__)
application.config.from_pyfile('config.py')
```