Dieses Repository wird nicht aktualisiert. Das Repository bleibt im schreibgeschützten Modus verfügbar.
In diesem Codemuster erstellen wir einen Chatbot mit Node.js und Watson Assistant. Der Assistentenfluss erkennt Kundenemotionen und wird durch die Verwendung von Natural Language Understanding zur Identifizierung von Standortentitäten verbessert. Bei häufig gestellten Fragen (FAQs) wird ein Anruf beim Discovery-Dienst die Passagensuche nutzen, um Antworten aus einer Sammlung von Dokumenten abzurufen.
Wenn der Leser dieses Muster durchgearbeitet hat, wird er verstehen, wie man:
HINWEIS : Dieses Codemuster wurde aktualisiert und enthält jetzt Anweisungen für den Zugriff auf Watson-Dienste, die auf IBM Cloud Pak for Data ausgeführt werden. Diese Aktualisierungen finden Sie in den spezifischen Anweisungen zum lokalen Bereitstellen Ihrer App oder zum Bereitstellen Ihrer App in OpenShift in IBM Cloud. Die wichtigste erforderliche Änderung besteht darin, dass Ihre Anwendung zusätzliche Anmeldeinformationen benötigt, um auf den IBM Cloud Pak for Data-Cluster zuzugreifen, der die Watson-Dienste hostet.
Klicken Sie hier für weitere Informationen zu IBM Cloud Pak for Data.
Klonen Sie den watson-banking-chatbot
lokal. Führen Sie in einem Terminal Folgendes aus:
git clone https://github.com/IBM/watson-banking-chatbot
Bereitstellung der folgenden Dienstleistungen:
HINWEIS : Wenn Sie die Bereitstellungsoption
Deploy to Cloud Foundry on IBM Cloud
verwenden, können Sie diese nächsten Schritte überspringen und direkt zum Abschnitt „Deploy the Application“ springen. Diese Bereitstellungsoption erstellt die Dienste automatisch und verknüpft sie mit Ihrer Anwendung.
Die Anweisungen hängen davon ab, ob Sie Services mithilfe von IBM Cloud Pak for Data oder in IBM Cloud bereitstellen.
Klicken Sie, um eines zu erweitern:
Befolgen Sie für jeden der drei Dienste die folgenden Anweisungen.
Die Dienste sind standardmäßig nicht verfügbar. Ein Administrator muss sie auf der IBM Cloud Pak for Data-Plattform installieren und Ihnen muss Zugriff auf den Service gewährt werden. Um festzustellen, ob der Dienst installiert ist, klicken Sie auf das Symbol „Dienste“ ( ) und prüfen Sie, ob der Dienst aktiviert ist.
Die folgenden Anweisungen hängen davon ab, ob Sie Assistant über IBM Cloud oder über einen IBM Cloud Pak for Data-Cluster bereitstellen. Wählen Sie eines:
Provisioned Instances
in Ihrem IBM Cloud Pak for Data Dashboard.View Details
.Open Watson Assistant
.Skills
.Create skill
Dialog skill
und klicken Sie dann auf Next
.Import skill
.Choose JSON file
, gehen Sie zu Ihrem geklonten Repository-Verzeichnis und Open
die JSON-Datei in data/conversation/workspaces/banking_US.json
(oder verwenden Sie die alte Vollversion in full_banking.json
). banking_IN.json
wird für Inhalte für Bankgeschäfte in Indien und banking_US.json
für Inhalte für Bankgeschäfte in den Vereinigten Staaten verwendet.Everything
aus und klicken Sie auf Import
.Launch tool
.Skills
.Create skill
.Dialog skill
und klicken Sie dann auf Next
.Import skill
.Choose JSON file
, gehen Sie zu Ihrem geklonten Repository-Verzeichnis und Open
die JSON-Datei in data/conversation/workspaces/banking_US.json
(oder verwenden Sie die alte Vollversion in full_banking.json
). banking_IN.json
wird für Inhalte für Bankgeschäfte in Indien und banking_US.json
für Inhalte für Bankgeschäfte in den Vereinigten Staaten verwendet.Everything
aus und klicken Sie auf Import
. So finden Sie die Skill ID
für Watson Assistant:
Gehen Sie zurück zur Registerkarte Skills
.
Klicken Sie auf die drei Punkte in der oberen rechten Ecke einer Karte und wählen Sie View API Details
aus.
Kopieren Sie die Skill ID
GUID. Verwenden Sie diesen Wert beim Einrichten Ihrer Laufzeitumgebung.
Standardmäßig importiert und verwendet die Anwendung den Skill namens watson-banking-chatbot , Sie können ihn jedoch für die Verwendung eines anderen Skills konfigurieren, indem Sie die Laufzeitumgebungsvariable SKILL_ID
festlegen.
Um das Dialogfeld „Assistent“ anzuzeigen, klicken Sie auf den Skill und wählen Sie die Registerkarte Dialog
. Hier ist ein Ausschnitt des Dialogs:
Standardmäßig erstellt die Anwendung eine Sammlung mit dem Namen watson-banking-chatbot . Sie können sie jedoch so konfigurieren, dass eine andere Sammlung verwendet wird, indem Sie die Laufzeitumgebungsvariablen DISCOVERY_COLLECTION_ID
und DISCOVERY_ENVIRONMENT_ID
festlegen.
Die folgenden Anweisungen hängen davon ab, ob Sie Discovery aus IBM Cloud oder aus einem IBM Cloud Pak for Data-Cluster bereitstellen. Wählen Sie eines:
Provisioned Instances
in Ihrem IBM Cloud Pak for Data Dashboard.View Details
.Open Watson Discovery
.Project
oder erstellen Sie ein neues.Project
auf die Registerkarte Collections
.New Collection +
.Upload data
und klicken Sie auf Next
.English
Sprache aus.Finish
um die Sammlung zu erstellen.Drag and drop your documents here or select documents
um den Inhalt mit den fünf Dokumenten in data/discovery/docs
Ihres geklonten Repositorys zu versehen.Integrate and deploy
. Wählen Sie dann die Registerkarte View API Details
aus, um die Project Id
anzuzeigen. Verwenden Sie diesen als Collection ID
Wert beim Einrichten Ihrer Laufzeitumgebung.HINWEIS : Die
Environment Id
für Cloud Pak for Data-Sammlungen ist immer aufdefault
eingestellt.
Suchen Sie den Discovery-Service in Ihrem IBM Cloud Dashboard.
Klicken Sie auf den Dienst und dann auf Launch tool
.
Erstellen Sie eine neue Datensammlung, indem Sie auf die Schaltfläche Upload your own data
klicken.
English
Sprache ausCreate
Ziehen Sie Drag and drop your documents here or select documents
um den Inhalt mit den fünf Dokumenten in data/discovery/docs
Ihres geklonten Repositorys zu versehen.
Klicken Sie auf das api
Symbol oben rechts und speichern Sie die Environment ID
und Collection ID
da diese beim Einrichten Ihrer Laufzeitumgebung benötigt werden.
Klicken Sie auf eine der folgenden Optionen, um Anweisungen zum Bereitstellen des Node.js-Servers zu erhalten.
Die Web-App präsentiert einen Kundendienst-Chatbot. Interagieren Sie mit dem Chatbot, indem Sie die Tasten drücken, wenn Sie dazu aufgefordert werden, oder verwenden Sie das Feld Type something
. Der Chatbot wird von Watson Assistant betrieben und verfügt über zusätzliche Informationen aus Discovery und Natural Language Understanding.
Fehler: Arbeitsbereiche für Watson Assistant können nicht aufgelistet werden: Verboten: Der Zugriff wurde aufgrund ungültiger Anmeldeinformationen verweigert.
Dieser Fehler tritt bei der Schaltfläche
Deploy to IBM Cloud
auf. Konfigurieren Sie eine Laufzeitumgebungsvariable fürASSISTANT_APIKEY
, um die automatische Konfiguration des Standard-Skills zu ermöglichen, oder konfigurieren SieSKILL_ID
für die Verwendung eines anderen Skills.
Fehler: Ein Vorgang für die Dienstinstanz wbc-discovery-service wird ausgeführt.
Dieser Fehler tritt auf, wenn die App gestartet wird, bevor der Dienst bereit ist. Es handelt sich derzeit um ein häufiges Verhalten bei der Schaltfläche
Deploy to IBM Cloud
. Klicken Sie in diesem Fall auf die SchaltflächeRun
, um die Anwendung neu zu starten. Es wird erfolgreich sein, wenn der Dienst bereit ist.
Fehler: Umgebung {GUID} ist immer noch nicht aktiv. Versuchen Sie es erneut, sobald der Status aktiv ist
Dies kommt häufig beim ersten Durchlauf vor. Die App versucht zu starten, bevor die Discovery-Umgebung vollständig erstellt ist. Warten Sie einige Minuten und klicken Sie auf die Schaltfläche
Run
um die Anwendung neu zu starten.
Fehler: Pro Organisation ist nur eine kostenlose Umgebung zulässig
Um mit einer kostenlosen Testversion arbeiten zu können, wird eine kleine kostenlose Discovery-Umgebung erstellt. Wenn Sie bereits über eine Discovery-Umgebung verfügen, schlägt dies fehl. Wenn Sie Discovery nicht verwenden, suchen Sie nach einem alten Dienst, den Sie möglicherweise löschen möchten. Andernfalls verwenden Sie die .env DISCOVERY_ENVIRONMENT_ID, um der App mitzuteilen, welche Umgebung sie verwenden soll. In dieser Umgebung wird mit der Standardkonfiguration eine Sammlung erstellt.
Dieses Codemuster ist unter der Apache-Lizenz, Version 2, lizenziert. Separate Codeobjekte von Drittanbietern, die in diesem Codemuster aufgerufen werden, werden von ihren jeweiligen Anbietern gemäß ihren eigenen separaten Lizenzen lizenziert. Beiträge unterliegen dem Developer Certificate of Origin, Version 1.1 und der Apache-Lizenz, Version 2.
Häufig gestellte Fragen zur Apache-Lizenz