Oracle Digital Assistant Chatbot mit Headless Oracle Content Management erstellen
Einführung
Oracle Digital Assistant ist eine Plattform, mit der Sie digitale Assistenten erstellen und bereitstellen können. Hierbei handelt es sich um KI-gesteuerte Schnittstellen, die Benutzer bei verschiedenen Aufgaben über natürliche Sprachunterhaltungen unterstützen. Aber was passiert, wenn Sie ein Content-Management-System (CMS) benötigen, um all Ihre Inhalte zu bedienen? Glücklicherweise bietet Oracle Content Management mit den umfassenden, Headless-CMS-Funktionen eine elegante Lösung für all Ihre Anforderungen in Bezug auf Inhaltsverwaltung und -Governance.
In diesem Tutorial erstellen wir einen Chatbot in Oracle Digital Assistant, indem wir Oracle Content Management als Headless-CMS und sein Software-Entwicklungskit (SDK) für die Inhaltsbereitstellung in JavaScript verwenden. Dieses Chatbot-Beispiel ist auf GitHub verfügbar.
Das Tutorial umfasst vier Schritte:
- Oracle Content Management vorbereiten
- Fähigkeiten von Oracle Digital Assistant erstellen
- Webanwendung für Ihren Chatbot einrichten
- Anwendung bereitstellen
Voraussetzungen
Bevor Sie mit diesem Tutorial fortfahren, sollten Sie zuerst die folgenden Informationen lesen:
Um diesem Tutorial zu folgen, benötigen Sie Folgendes:
- Oracle Content Management-Abonnement
- ein Oracle Content Management-Account mit der Rolle "Inhaltsadministrator"
- ein Oracle Digital Assistant-(ODA-)Abonnement
- eine ODA-Instanz
- ein Windows- oder Mac-Computer mit Node.js und Node Package Manager (NPM) für globalen Zugriff installiert
Unser Aufbau
Unser Chatbot-Beispiel besteht aus einer einzelnen Landingpage mit einem Bot, mit dem Benutzer Vertriebssicherheiten suchen können. Besucher können den Sales Enablement-Bot auffordern, eine Liste mit Menüelementen, Kategorien in einer Menüoption anzuzeigen oder Geschichten und Ankündigungen abzurufen, die für eine Suchabfrage relevant sind.
Im Folgenden finden Sie den Endstatus unseres Tutorials, einem ODA-Chatbot, der Inhalte von Oracle Content Management konsumiert:
https://headless.mycontentdemo.com/samples/oce-oda-sample/
So sieht die Landingpage und der Sales Enablement-Bot am Ende dieses Tutorials aus:

Content Management - ODA-Chatbot-Ablauf
Der Fluss des Content Management ODA-Chatbot-Beispiels lautet wie folgt:
Der Client sendet eine Anforderung an den ODA-Kanal über die Chatbot-Schnittstelle.
Dem ODA-Kanal ist eine Qualifikation zugeordnet, die diese Benutzeranforderung auflöst.
Basierend auf der aufgelösten Entity oder dem aufgelösten Intent kann der ODA-Skill verschiedene Aktionen ausführen:
- Wenn die aufgelöste Entity einen Kategoriewert enthält, gilt Folgendes:
- ODA ruft Content Management mit dem benutzerdefinierten Komponentenservice auf.
- Der benutzerdefinierte Komponentenservice verwendet den Kategoriewert und die Serverkonfiguration für die Content Management-Instanz und sendet eine Anforderung an die Instanz
- Dann sendet die Instanz eine Antwort an den benutzerdefinierten Komponentenservice zurück, der dann von ODA an den Client gesendet wird.
- Andernfalls sendet ODA abhängig vom definierten Unterhaltungsablauf eine Nachricht.
- Wenn die aufgelöste Entity einen Kategoriewert enthält, gilt Folgendes:
Die vom Client empfangene Antwort wird vom Web-SDK wiedergegeben und dem Benutzer angezeigt.
Nach Abschluss dieses Tutorials erfahren Sie, wie Sie eine Chatbot-Anwendung mit Oracle Content Management erstellen können.
Aufgabe 1: Oracle Content Management vorbereiten
Wenn noch keine Oracle Content Management-Instanz vorhanden ist, finden Sie unter Schnellstart Informationen zur Registrierung für Oracle Cloud, zur Bereitstellung einer Oracle Content Management-Instanz und zur Konfiguration von Oracle Content Management als Headless CMS.
Für dieses Tutorial müssen Sie ein Contentmodell erstellen. Es ist ein herunterladbares Asset Pack verfügbar, das Ihr leeres Repository mit Inhaltstypen und zugehörigen Inhalten ausfüllt.
So bereiten Sie Oracle Content Management vor:
Kanal- und Asset-Repository erstellen
Sie müssen zunächst einen Kanal und ein Asset-Repository in Oracle Content Management erstellen, damit Sie Inhalte veröffentlichen können.
So erstellen Sie einen Kanal und ein Asset-Repository in Oracle Content Management:
Melden Sie sich als Administrator bei der Oracle Content Management-Webbenutzeroberfläche an.
Wählen Sie im linken Navigationsmenü die Option Inhalt und dann in der Auswahlliste im Seitenheader die Option Kanäle veröffentlichen aus.

Klicken Sie in der oberen rechten Ecke auf Create, um einen neuen Kanal zu erstellen. Benennen Sie den Kanal "ODAChatbotChannel" für dieses Tutorial, und behalten Sie den Zugriff öffentlich. Klicken Sie auf Save, um den Channel zu erstellen.

Wählen Sie im linken Navigationsmenü die Option Inhalt, und wählen Sie in der Auswahlliste im Seitenheader die Option Repositorys aus.

Klicken Sie in der oberen rechten Ecke auf Erstellen, um ein neues Asset-Repository zu erstellen. Benennen Sie das Asset-Repository "ODAChatbotRepository" für den Zweck dieses Tutorials.

Wählen Sie im Feld Veröffentlichungskanäle den Kanal ODAChatbotChannel aus, um Oracle Content Management anzugeben, dass Inhalte im Repository ODAChatbotRepository im Kanal ODAChatbotChannel veröffentlicht werden können. Klicken Sie anschließend auf Speichern.

Oracle Content Management-Beispielassetpaket importieren
Sie können ein vorkonfiguriertes Content Management-Beispielassetspaket herunterladen, das alle erforderlichen Inhaltstypen, Assets und Taxonomien für dieses Tutorial enthält.
Sie können eine Kopie des Inhalts, den wir in diesem Tutorial verwenden, aus dem Content Management Samples Asset Pack hochladen. Auf diese Weise können Sie mit den Inhaltstypen experimentieren und den Inhalt ändern. Wenn Sie das Content Management Samples Asset Pack importieren möchten, können Sie das Asset Pack-Archiv, OCESamplesAssetPack.zip herunterladen und in ein Verzeichnis Ihrer Wahl extrahieren:
Laden Sie das Content Management Samples Asset Pack (OCESamplesAssetPack.zip) von der Oracle Content Management-Seite Downloads herunter. Extrahieren Sie die heruntergeladene ZIP-Datei in ein Verzeichnis auf Ihrem Computer. Nach der Extraktion enthält dieser Speicherort eine Datei namens OCEODAChatbot_data.zip.
Melden Sie sich als Administrator bei der Oracle Content Management-Webbenutzeroberfläche an.
Wählen Sie im linken Navigationsmenü die Option Inhalt, und wählen Sie in der Auswahlliste im Seitenheader die Option Repositorys aus. Wählen Sie jetzt ODAChatbotRepository aus, und klicken Sie in der oberen Aktionsleiste auf Inhalt importieren.

Laden Sie OCEODAChatbot_data.zip vom lokalen Rechner in den Ordner Dokumente hoch.

Wählen Sie nach dem Hochladen OCEODAChatbot_data.zip aus, und klicken Sie auf OK, um den Inhalt in das Asset-Repository zu importieren.

Nachdem der Inhalt erfolgreich importiert wurde, navigieren Sie zur Seite Assets, und öffnen Sie das Repository ODAChatbotRepository. Alle zugehörigen Bilder, Inhaltselemente und Taxonomien wurden nun dem Asset-Repository hinzugefügt.

Klicken Sie oben links auf Alle auswählen und dann auf Veröffentlichen, um alle importierten Assets zum Veröffentlichungskanal hinzuzufügen, den Sie zuvor erstellt haben, ODAChatbotChannel.

Vor der Veröffentlichung müssen Sie alle Assets validieren. Fügen Sie zuerst ODAChatbotChannel als ausgewählten Kanal hinzu, und klicken Sie dann auf die Schaltfläche Validieren.

Nachdem die Assets validiert wurden, können Sie alle Assets im ausgewählten Kanal veröffentlichen, indem Sie oben rechts auf die Schaltfläche Veröffentlichen klicken.

Danach können Sie auf der Seite Anlagen sehen, dass alle Assets veröffentlicht wurden. (Sie können dies mit dem Symbol über dem Assetnamen erklären.)

Wählen Sie im linken Navigationsmenü die Option Inhalt, und wählen Sie in der Auswahlliste im Seitenheader die Option Taxonomien aus.

Wählen Sie auf der Seite "Taxonomien" die Taxonomie SE2-Kategorien (SEC), und klicken Sie in der Aktionsleiste auf Veröffentlichen, um sie zur Verwendung verfügbar zu machen. Veröffentlichen Sie die SEP-(SE2 Products-)Taxonomie auf dieselbe Weise.
Aufgabe 2: Oracle Digital Assistant-Skill erstellen
Um unseren Oracle Content Management-Inhalt in einer ODA-Chatbot-Anwendung zu nutzen, können wir das Content Management-ODA-Chatbot-Beispiel verwenden, das in einem Open-Source-Repository auf GitHub verfügbar ist.
Hinweis: Beachten Sie, dass die Verwendung des ODA-Chatbot-Beispiels optional ist. Wir verwenden es in diesem Tutorial für einen schnellen Einstieg. Sie können auch Ihre eigene Chatbot-Anwendung erstellen.
So erstellen Sie den Chatbot-Skill in ODA:
- Beispiel-Repository kopieren
- ODA-Skill in Ihre Instanz importieren
- Benutzerdefinierten Komponentenservice einrichten und konfigurieren
- Mit dem Oracle Content Management Content-SDK arbeiten
- Inhalt mit dem Content-SDK abrufen
- Benutzerdefinierten Komponentenservice verpacken und bereitstellen
Beispiel-Repository kopieren
Das Content Management-ODA-Chatbot-Beispiel ist im Open-Source-Repository auf GitHub verfügbar. Sie müssen zuerst das Beispiel-Repository von GitHub auf Ihren lokalen Rechner klonen und Ihr Verzeichnis so ändern, dass es mit diesem Beispiel funktioniert.
git clone https://github.com/oracle/oce-integration-samples.git
cd oce-integration-samples/oce-oda-chatbot-sample/headless-chatbot-sample
Nachdem Sie Ihre Codebasis erstellt haben, sehen Sie sich die Ordner genauer an, die Sie in diesem Tutorial verwenden:
Der Ordner ODAChatbot ist ein Chatbot-Skill.

Der sales-enablement-custom- Component-Ordner ist eine benutzerdefinierte ODA-Komponente.

Der Ordner WebApp ist eine Webanwendung.

Hinweis: Der Ordner site-integration-chatbot-sample ist Teil des Chatbot-Beispiels zur Siteintegration. Weitere Informationen zu diesem Beispiel finden Sie hier.
ODA-Skill in Ihre Instanz importieren
Der Ordner ODAChatbot in der Codebasis ist der in diesem Tutorial verwendete ODA-Skill. Führen Sie die folgenden Schritte aus, um Ihren Skill auf Ihrer ODA-Instanz zu erstellen und zu trainieren:
Öffnen Sie in Ihrer Oracle Digital Assistant-Instanz das Navigationsmenü auf der linken Seite, klicken Sie auf Entwicklung, Skills.

Suchen Sie nach dem ODA Chatbot-Skill.
Hinweis: Wenn Ihre Instanz diesen Skill nicht aufweist, wählen Sie den Inhalt des Ordners ODAChatbot aus, und komprimieren Sie diese in einer einzelnen ZIP-Datei. Klicken Sie auf der Seite "Skills" Ihrer ODA-Instanz auf Skill importieren, und importieren Sie die gerade erstellte ZIP-Datei. Wenn Sie den Ordner ODAChatbot direkt komprimieren, tritt beim Import ein Fehler auf.
Klicken Sie auf der ODA-Chatbot-Skillcard auf das Symbol "Optionen" und dann auf Klonen.

Geben Sie dem geklonten Skill einen eindeutigen Anzeigenamen. Beispiel: Fügen Sie Ihre Initialen am Anfang hinzu, wie "AB - ODA Chatbot". Lassen Sie alle anderen Werte unverändert. Wählen Sie Klonierten Skill anschließend öffnen aus, und klicken Sie auf Klonen.
Hinweis: Der Name muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen, Punkte und Unterstriche enthalten. Er darf maximal 100 Zeichen umfassen.

Klicken Sie auf Trainieren, stellen Sie sicher, dass Trainer Ht ausgewählt ist, und klicken Sie dann auf Weiterleiten, um den Skill zu trainieren.
Hinweis: Sie verwenden Ht-Schulungen in diesem Tutorial, das schnell, aber oberflächlich ist. Für Produktionsaufgaben sollten Sie Tm-Schulungen verwenden, die zu einer besseren Intent-Auflösung führen.

ODA-Chatbot-Qualifikation
Bei Qualifikationen handelt es sich um einzelne Chatbots, die für die Interaktion mit Benutzern entwickelt wurden und bestimmte Typen von Aufgaben erfüllen, wie Bestellung von Lebensmitteln, Reservierungen und Änderungen von Kontaktinformationen. Der Skill ODAChatbot unterstützt Benutzer bei der Suche nach geeigneten Ankündigungen und Storys für die Vertriebsunterstützung durch eine Kombination aus Textnachrichten und einfachen UI-Elementen, wie Auswahllisten.
Bevor Sie sich in die Entwicklung von digitalen Assistenten und Skills einarbeiten, sollten Sie sich wie folgt vertraut machen:
Intents - Kategorien von Aktionen oder Aufgaben, von denen Benutzer erwarten, dass Ihr Skill diese für sie ausführt. In unserem Skill gibt es zwei Intents:
- Hallo: Dieses Intent zeigt dem Benutzer eine Willkommensnachricht an.
- StoryIntent: Dieses Intent zeigt die entsprechenden Menüs und Inhaltselemente aus Oracle Content Management an.
Entitys: Variablen, die wichtige Informationen aus der Benutzereingabe identifizieren, mit denen der Skill eine Aufgabe erfüllen kann. In unserem Können gibt es sieben Entitäten:
- TopMenu: Dies ist eine Wertelistenentity, die die Menüoptionen enthält.
- HomeMenu: Dies ist eine Wertelistenentity, die die Kategorien aus dem Home-Menü enthält.
- CafeSupremoMenu: Dies ist eine Wertelistenentity, die die Kategorien aus dem Cafe-Supremo-Menü enthält.
- LearningMenu: Dies ist eine Wertelistenentity, die die Kategorien aus dem Lernmenü enthält.
- SellingMenu: Dies ist eine Wertelistenentity, die die Kategorien aus dem Menü "Verkauf" enthält.
- MenuBag: Dies ist eine Mischentity mit Menüelemententitys, d.h. die Entitys HomeMenu, CafeSupremoMenu, LearningMenu und SellingMenu.
- StoryCategory: Dies ist eine Wertelistenentity, die alle Storykategorien enthält.
Intents und Entitys sind gängige Natural Language Processing-(NLP-)Konzepte. Bei NLP geht es darum, das Intent von Text und die relevanten Informationen aus dem Text zu extrahieren.
Komponenten - Diese bieten Ihrem Skill verschiedene Funktionen, damit er auf Benutzer reagieren kann. Dabei kann es sich um generische Funktionen wie die Ausgabe von Text oder um benutzerdefinierte Komponenten handeln, die Informationen aus einem Backend zurückgeben und benutzerdefinierte Logik ausführen können. In unserem Skill gibt es einen benutzerdefinierten Komponentenservice, eine Sales-enablement-custom-Komponente, der die Inhaltselemente über REST-APIs aus Oracle Content Management abruft.
Dialogablauf: Die Definition für die Skillbenutzerinteraktion. Im Dialogablauf wird beschrieben, wie Ihr Skill auf die Benutzereingabe reagiert.
Kanäle - Benutzer können über Messagingplattformen oder über Clientmessaging-Apps auf digitale Assistenten und Skills zugreifen. Für einen einzelnen digitalen Assistenten oder Skill können mehrere Kanäle konfiguriert werden, damit er auf verschiedenen Services gleichzeitig ausgeführt werden kann. In diesem Tutorial verwenden wir den Oracle-Webkanal, um in einer Webanwendung auf unseren Skill zuzugreifen.
Weitere Informationen zu Oracle Digital Assistant und zu den zugehörigen Fähigkeiten finden Sie in der Produktdokumentation.
Service für benutzerdefinierte Komponenten einrichten und konfigurieren
Der Ordner "Sales-enablement-custom-component" in der Codebasis ist die benutzerdefinierte ODA-Komponente, die in diesem Tutorial verwendet wird. Zuerst müssen Abhängigkeiten für diese benutzerdefinierte ODA-Komponente heruntergeladen werden. Führen Sie den folgenden Befehl aus dem Verzeichnis "headless-chatbot-sample/sales-enablement-custom-component" aus:
npm install
Als Nächstes müssen einige Informationen konfiguriert werden, damit das Oracle Content Management Content-SDK (und alle anderen Anforderungen) die richtige Instanz-URL und API-Version mit dem richtigen Kanaltoken als Ziel festlegen kann.
Diese Werte werden in Components/server-config-utils.js verwendet, um einen neuen Zustellungsclient zu instanziieren.
Öffnen Sie die Datei server-config-utils.js in einem Texteditor. Folgendes wird angezeigt:
contentServer: "https://instance-name.cec.ocp.oraclecloud.com",
contentVersion: "v1.1",
channelToken: "4b7b22ad5f5245f28579641d5489a98f",
Ändern Sie jedes Schlüssel/Wert-Paar entsprechend Ihrer Instanz-URL, der gewünschten API-Version und dem mit Ihrem Veröffentlichungskanal verknüpften Kanaltoken. Beispiel: Der Kanal, den wir in diesem Tutorial erstellt haben, ist ODAChatbotChannel.
Mit dem Oracle Content Management Content-SDK arbeiten
Oracle Content Management bietet ein SDK für die Erkennung und Verwendung von Inhalten in Ihren Anwendungen. Das SDK wird als NPM-Modul veröffentlicht, und das Projekt wird auf GitHub gehostet.
Weitere Informationen zum SDK finden Sie hier.
Das SDK wurde als Laufzeitabhängigkeit für dieses Projekt in den package.json-Dateien registriert.
Inhalt mit dem Content-SDK abrufen
Jetzt können wir das Inhalts-SDK verwenden, um Inhalte für den Chatbot-Skill über die benutzerdefinierte ODA-Komponente abzurufen.
Der Ordner " Components/services.js" enthält den Code für das Abrufen von Daten aus Oracle Content Management mit dem Content-SDK.
Die Datei Components/server-config-utils.js importiert das Content-SDK und erstellt dann einen Zustellungsclient mit der darin angegebenen Konfiguration.
Mit dem folgenden Befehl wird das SDK importiert:
createDeliveryClient = require('@oracle/content-management-sdk');Der folgende Befehl erstellt den Zustellungsclient:
deliveryClient = createDeliveryClient(serverconfig);Die Datei sales-enablement-custom-component/components/services.js enthält den gesamten Code zum Abrufen der Inhaltselemente für den Chatbot. Es gibt eine Hauptfunktion zum Abrufen des gesamten Inhalts für den Chatbot.
Die folgenden Funktionen werden aufgerufen, um alle Daten für eine bestimmte Taxonomiekategorie aus dem Repository ODAChatbotRepository abzurufen:
function getStoryData(client, categoryName) {
if (categoryName === 'Announcements') {
return fetchItemsForAnnouncements(client, false)
.then((topLevelItem) => {
const { totalResults } = topLevelItem;
const promises = [];
// for each item, retrieve the result object and add it to the promise
topLevelItem.items.forEach((item) => {
promises.push(
retrieveAnnouncementsObject(client, item.id)
.then((resultobject) => ({ ...resultobject })),
);
});
// execute all the promises before returning the data
return Promise.all(promises)
.then((arrayOfItems) => ({
totalResults,
items: arrayOfItems.flat(),
}));
});
}
return fetchItemsForCategoryName(client, categoryName, false)
.then((topLevelItem) => {
const { totalResults } = topLevelItem;
const promises = [];
// for each item, retrieve the result object and add it to the promise
topLevelItem.items.forEach((item) => {
promises.push(
retrieveResultObject(client, item.id)
.then((resultobject) => ({ ...resultobject })),
);
});
// execute all the promises before returning the data
return Promise.all(promises)
.then((arrayOfItems) => ({
totalResults,
items: arrayOfItems.flat(),
}));
});
}Die Funktion getStoryData führt zwei verschiedene Aufrufe durch, je nachdem, ob die Anforderung für die Ankündigungen oder eine Story-Kategorie gestellt wird.
Ankündigungsdaten
Sie erfordert einen Datenaufruf, um alle Inhaltselemente für die Ankündigungen abzurufen.
Die Funktion getStoryData ruft fetchItemsForAnnouncements auf, die alle Inhaltselemente des Typs "SE2-Announcements" abruft. Als Nächstes wird die Funktion retrieveAnnouncementsObject aufgerufen, und die Titel- und Summenfelder des Ergebnisobjekts werden mit den Daten aus fetchItemsForAnnouncements aufgefüllt.
function fetchItemsForAnnouncements(client, limit) {
return client.getItems({
q: '(type eq "SE2-Announcement")',
fields: 'all',
expand: 'all',
limit: limit ? 4 : 100,
totalResults: true,
});
}Storydaten
Es sind mehrere Datenaufrufe erforderlich, um alle Inhaltselemente für die Geschichten abzurufen.
Zuerst werden alle Inhaltselemente für die vom Benutzer angeforderte Kategorie abgerufen.
Für jedes Inhaltselement, das wir erhalten, rufen wir die Medien-URL ab.
Die Funktion getStoryData ruft fetchItemsForCategoryName auf, die alle Inhaltselemente des Typs "SE2-Story" und den vom Benutzer angegebenen Taxonomiekategorienamen abruft.
function fetchItemsForCategoryName(client, categoryName, limit) {
return client.getItems({
q: `(taxonomies.categories.name eq "${categoryName}" and type eq "SE2-Story")`,
fields: 'all',
expand: 'all',
limit: limit ? 4 : 100,
totalResults: true,
});
}Das von fetchItemsForCategoryName abgerufene Inhaltselement enthält ein Feld mit der Medien-ID. Die Funktion retrieveMediaURL verwendet diese Medien-ID, um die Medien-URL abzurufen.
function retrieveMediaURL(client, identifier) {
return client.getItem({
id: identifier,
fields: 'all',
expand: 'all',
}).then((asset) => {
let url = null;
if (asset.fields && asset.fields.renditions && asset.fields.fileType !== 'mp4') {
const object = asset.fields.renditions.filter((item) => item.name === 'Small')[0];
const format = object.formats.filter((item) => item.format === 'jpg')[0];
const self = format.links.filter((item) => item.rel === 'self')[0];
url = self.href;
} else {
url = asset.fields.native.links[0].href;
}
return [url, asset.fields.fileType];
});
}Service für benutzerdefinierte Komponenten verpacken und bereitstellen
Sie können benutzerdefinierte Komponenten in einem eingebetteten Container für einen Skill, einen Remoteknotenserver oder Oracle Mobile Hub bereitstellen. In diesem Tutorial stellen Sie Ihren benutzerdefinierten Komponentenservice in einem eingebetteten Container bereit. Dazu müssen Sie zunächst den benutzerdefinierten Komponentenservice in einer bereitstellbaren Datei verpacken:
Speichern Sie Ihre Arbeit in Ihrer JavaScript-IDE.
Öffnen Sie ein Terminalfenster, und navigieren Sie zum Ordner "Sales-enablement-custom-component".
Geben Sie im Ordner "Sales-enablement-custom-component" den folgenden npm-Befehl ein
bots-node-sdk packAufgrund des Prepack-Skripts in der Datei package.json führt der Befehl zum ersten Mal den Befehl prepack aus, um das Package zu verifizieren. Der Befehl verpackt dann das Knotenprojekt und seine Abhängigkeiten in einem bereitstellbaren Tarball namens sales-enablement-custom-component-1.0.0.tgz.
Ihr Tarball muss alle Abhängigkeiten mit Ausnahme von devDependencies enthalten.
Klicken Sie im ODA-Chatbot-Skill in der linken Leiste auf das Symbol "Komponenten", um die Komponentenservice-Seite zu öffnen. Klicken Sie auf + Service, um einen neuen Service zu erstellen.

Gehen Sie im Dialogfeld "Service erstellen" wie folgt vor:
Geben Sie im Feld "Name" SalesEnablementCustomComponent ein.
Im Feld "Beschreibung" können Sie eine optionale Beschreibung hinzufügen.
Stellen Sie sicher, dass die Option Eingebetteter Container ausgewählt ist.
Verschieben Sie die Datei sales-enablement-custom-component-1.0.0.tgz per Drag-and-Drop, oder laden Sie sie in das Feld "Packagedatei" hoch.
Klicken Sie auf Erstellen.

Warten Sie, bis im Feld "Status" Bereit angezeigt wird, was einige Sekunden dauern kann.
Wenn der benutzerdefinierte Komponentenservice im eingebetteten Container des Skills bereitgestellt ist, können Sie die Komponente testen.
Weitere Informationen zu Oracle Digital Assistant und benutzerdefinierten Komponenten finden Sie in der Schulungsdokumentation.
Aufgabe 3: Webanwendung für Ihren Chatbot einrichten
Der zuvor erstellte ODA-Skill kann auf mehreren Plattformen bereitgestellt und verwendet werden. Weitere Informationen zu den verschiedenen Kanälen, die von ODA unterstützt werden, finden Sie in der Dokumentation.
In diesem Tutorial erstellen wir einen Oracle-Webkanal, damit ein Oracle-Webchatwidget eine Verbindung zu Ihrem Skill herstellen kann.
Hinweis: Ein Problem beim Hinzufügen von Chats zu Webclients besteht darin, dass Hacker auf den Skill und aktive Unterhaltungen zugreifen können, es sei denn, Sie sichern den Zugriff auf den Oracle-Webkanal, den Webclient und die Chatsession. Mit einer einfachen Browserkonsole können sie die REST-URIs prüfen und die Benutzer-ID und Kanal-ID der Unterhaltung abrufen. Weitere Informationen zur Sicherung Ihres Oracle-Webkanals finden Sie in diesem Tutorial.
Das Bereitstellen des ODA-Chatbot-Skills im Web besteht aus zwei Schritten:
Webkanal von Oracle Digital Assistant erstellen
Sie erstellen einen Benutzerkanal von Oracle Digital Assistant, über den ein Oracle Web-Client auf Ihren Skill zugreifen kann. Um sicherzustellen, dass nur Ihre Webclients diesen Kanal verwenden können, konfigurieren Sie ihn so, dass eine Clientauthentifizierung erforderlich ist.
Öffnen Sie in Ihrer Oracle Digital Assistant-Instanz das Navigationsmenü auf der linken Seite, klicken Sie auf Entwicklung, Kanäle.

Klicken Sie auf der Seite "Kanäle" auf + Channel, um einen Channel hinzuzufügen.
Geben Sie auf der Seite "Kanäle erstellen" die folgenden Informationen ein, wie im folgenden Screenshot gezeigt:
- Name: Ein eindeutiger Name, der mit einem Buchstaben beginnt und nur Buchstaben, Zahlen, Punkte und Unterstriche (_) enthält. Beispiel: AB_ODAChatbot.
- Beschreibung: (Optional) Was der Kanal verwendet wird.
- Kanaltyp: Oracle Web.
- Zulässige Domains: * (Ein einzelnes Sternchen lässt jede Domain zu.)
- Clientauthentifizierung aktiviert: Übernehmen Sie die Einstellung "off".

Klicken Sie auf Erstellen.
Wählen Sie in der Dropdown-Liste "Weiterleiten an" den Skill aus, den Sie für dieses Tutorial verwenden möchten.

Aktivieren Sie die Option Kanal aktiviert.
Notieren Sie sich die für diesen Kanal angezeigte Kanal-ID. Später in diesem Tutorial verwenden Sie diesen Wert in Ihrer Webanwendung.

Beachten Sie auch den Oracle Digital Assistant-Host und die -Domain (die als vollqualifizierter Domainname referenziert wird) aus der Instanz-URL, die im Adressfeld Ihres Webbrowsers angezeigt wird, z.B. oda-xxxx.data.digitalassistant.oci.oraclecloud.com. Sie verwenden diesen Wert später im Tutorial.
Ihre Instanz ist jetzt für Sie eingerichtet, um einen Chatbot auf einer Webseite mit dem Skill zu verbinden.
Webanwendung konfigurieren
Im nächsten Schritt konfigurieren Sie Ihre Webanwendung:
Laden Sie die neueste Version des Oracle Web-SDK herunter, und dekomprimieren Sie sie in einen Ordner Ihrer Wahl. Sie können auch von der Digital Assistant-Instanz zur Downloadseite für dieses SDK navigieren, indem Sie das Seitenmenü öffnen und dann auf "Downloads" klicken.
Kopieren Sie die Datei native-client-sdk-js/web-sdk.js aus Ihrem Oracle Web-SDK-Ordner, und legen Sie sie im Ordner WebApp/Skripte ab.

Das SDK stellt eine Verbindung zum Oracle-Chatserver her, der zwischen Oracle Digital Assistant und dem Skill (oder dem digitalen Assistenten) steht. Der Chatserver übergibt Nachrichten dann zur Verarbeitung an den Skill und übermittelt die Antwort des Skills an den Client.
Öffnen Sie die Datei WebApp/scripts/settings.js in einem Editor. Legen Sie die folgenden chatWidgetSettings-Eigenschaften fest:
URI: Der Host- und Domainname, den Sie beim Erstellen des Oracle-Webkanals notiert haben, z.B. xxxx.xxx.digitalassistant.xxx.xxx.com. Nehmen Sie keine https:// auf.
channelId: Die Kanal-ID für den zuvor erstellten Kanal.
Beispiel:
let chatWidgetSettings = { URI: 'xxxx.xxx.digitalassistant.xxx.xxx.com', clientAuthEnabled: isClientAuthEnabled, channelId: '12a45b92-2c85-88aa-810d-1dc0d1cfe472' ...Speichern und schließen Sie die Datei.
Ihr Oracle-Webkanal zusammen mit Ihrer Webanwendung ist bereit. Sie können jetzt Ihre Chatbot-Anwendung ausführen und in Aktion sehen.
Aufgabe 4: Anwendung bereitstellen
Nachdem wir unser ODA-Chatbot-Beispiel für Content Management erstellt haben, müssen wir es in einem lokalen Browser sehen, damit wir Probleme debuggen und eine Vorschau der Anwendung vor dem Go-Live anzeigen können.
Öffnen Sie die Datei WebApp/index.html in einem Webbrowser.
Ihre Webanwendung sollte mit geöffnetem Chatfenster angezeigt werden. Wenn das Chatwidget nicht geöffnet ist, klicken Sie auf das Chatsymbol, um es zu öffnen.
Prüfen Sie mit dem Skill, ob die Webanwendung richtig konfiguriert ist.
Oracle Digital Assistant Chatbot mit Headless Oracle Content Management erstellen
F52680-01
Januar 2022
Copyright © 2021, 2022, Oracle and/or its affiliates.
Hauptverfasser: Oracle Corporation