Entwickeln benutzerdefinierter Bot-Aktionen in Botpress

Entwickeln Benutzerdefinierter Bot Aktionen In Botpress



Chatbots sind zu einem grundlegenden Bestandteil moderner Unternehmen geworden, der es ihnen ermöglicht, einen besseren Kundensupport zu bieten, Prozesse zu automatisieren und effektiver mit Benutzern zu interagieren. Botpress ist ein beliebtes Open-Source-Chatbot-Framework, das verschiedene integrierte Aktionen bietet. In einigen Fällen müssen Sie jedoch möglicherweise benutzerdefinierte Bot-Aktionen erstellen, um bestimmte Anforderungen zu erfüllen und die Fähigkeiten des Bots zu erweitern. In diesem Tutorial führen wir Sie durch die Erstellung benutzerdefinierter Bot-Aktionen in Botpress, wobei wir uns auf den Aufruf einer API und die Verwendung der Antwort in einem Inhaltselement konzentrieren.

Aktionen in Botpress verstehen

Aktionen in Botpress sind serverseitige Funktionen, die vom Bot während Gesprächsflüssen ausgeführt werden. Sie haben die Macht, den Status der Konversation zu ändern, benutzerdefinierte Nachrichten zu senden, beliebigen Code auszuführen (z. B. die APIs aufzurufen oder die Daten zu speichern) und vieles mehr. Im Wesentlichen handelt es sich bei Aktionen um reguläre JavaScript-Funktionen, was bedeutet, dass sie innerhalb der Grenzen der Plattform fast alles ausführen können.

Wenn eine Aktion vom Dialogue Manager (DM) aufgerufen wird, erhält er mehrere Argumente, die der Funktion Kontext bereitstellen. Zu diesen Argumenten gehören die Benutzerattribute, Sitzungsvariablen, temporäre Variablen, Variablen auf Bot-Ebene, das letzte Benutzerereignis in der Konversation, übergebene Argumente vom Visual Flow Builder und eine Sandbox-VM, die einige Umgebungsvariablen enthält.







Neue Aktionen registrieren

Um die benutzerdefinierten Bot-Aktionen hinzuzufügen, müssen Sie eine JavaScript-Datei (.js) erstellen und diese im ablegen Daten/global/Aktionen Ordner in Ihrem Botpress-Projekt. Leider gibt es keine Möglichkeit, zur Laufzeit programmgesteuert neue Aktionen hinzuzufügen. Mithilfe der JavaDoc-Kommentare in Ihrem Code können Sie aussagekräftige Informationen zu den Aktionen bereitstellen, z. B. deren Namen, Beschreibung, Argumente und Standardwerte. Sie können eine Aktion im Flow-Editor auch ausblenden, indem Sie das Flag „@hidden true“ im JavaDoc-Kommentar hinzufügen.



So erstellen Sie benutzerdefinierte Aktionen in Botpress

Hier sind einige Schritte, die Sie befolgen können, um eine benutzerdefinierte Aktion in Botpress zu erstellen:



Schritt 1: Erstellen Sie Ihren Bot und fügen Sie einen Knoten hinzu

Erstellen Sie zunächst einen neuen Bot in Botpress. Sobald Ihr Bot erstellt ist, fügen Sie dem Konversationsfluss einen neuen Knoten hinzu.





Schritt 2: Fügen Sie Ihrem Knoten geeignete Nachrichten hinzu

Fügen Sie im neu erstellten Knoten die erforderlichen Nachrichten hinzu, um den Inhaltsaustausch mit Benutzern zu erleichtern. Sie können beispielsweise eine Textnachricht hinzufügen, um den Benutzer zu begrüßen und ihn nach seinem Namen zu fragen.



Schritt 3: Öffnen Sie den Ausführungscode in der Seitenleiste

Navigieren Sie zur Seitenleiste im Botpress Flow Builder und öffnen Sie den „Code-Editor“. Hier können Sie Ihre benutzerdefinierten Aktionen erstellen und verwalten.

  C:\Benutzer\Benutzer01\Desktop\4124.PNG

Schritt 4: Klicken Sie auf die Schaltfläche „Aktion hinzufügen“.

Klicken Sie im Abschnitt „Code ausführen“ auf die Schaltfläche „Aktion hinzufügen“. Diese Aktion öffnet das Fenster „Neue action_legacy erstellen“.

  C:\Benutzer\user01\Desktop\tempsnip.png

Schritt 5: Geben Sie einen Namen für die Datei an und klicken Sie auf die Schaltfläche „Senden“.

Geben Sie im Fenster „Neue action_legacy erstellen“ einen aussagekräftigen Namen für Ihre benutzerdefinierte Aktionsdatei ein. zum Beispiel customAction.js. Nachdem Sie den Namen angegeben haben, klicken Sie auf die Schaltfläche „Senden“. Dadurch wird die Datei „customAction.js“ erstellt.

Schritt 6: Schreiben Sie Ihren benutzerdefinierten Code

Öffnen Sie die neu erstellte Datei „customAction.js“. In der Datei sehen Sie den Boilerplate-Code, der für eine neue Aktion generiert wird. Geben Sie eine aussagekräftige Beschreibung für Ihre benutzerdefinierte Aktion mit den entsprechenden Kommentaren ein.

Schreiben Sie nun Ihren benutzerdefinierten Code in die Funktion. Dieser Code definiert das Verhalten Ihrer benutzerdefinierten Aktion. Mit JavaScript können Sie verschiedene Aufgaben ausführen, z. B. API-Aufrufe durchführen, auf Datenbanken zugreifen oder komplexe Logik verarbeiten.

Schritt 7: Ändern Sie Ihren Knoten, um die benutzerdefinierte Aktion zu verwenden

Gehen Sie zurück zum Botpress Flow Builder und ändern Sie den Knoten, an dem Sie Ihre benutzerdefinierte Aktion auslösen möchten. Fügen Sie dem Knoten eine Karte „Code ausführen“ hinzu.

Schritt 8: Wählen Sie Ihren benutzerdefinierten Aktionsnamen aus und geben Sie die Aktionsparameter an

Auf der Karte „Code ausführen“ sehen Sie eine Dropdown-Liste, die die Namen aller Ihrer benutzerdefinierten Aktionen enthält. Wählen Sie den Namen Ihrer benutzerdefinierten Aktion aus der Liste aus. Wenn Ihre benutzerdefinierte Aktion Parameter erfordert, können Sie diese im Abschnitt „Parameter“ der Karte „Code ausführen“ angeben.

  C:\Benutzer\user01\Desktop\tempsnip121.png

Schritt 9: Lassen Sie Ihren Bot die Aktion ausführen

Fügen Sie abschließend eine weitere Karte zum Knoten hinzu, damit Ihr Bot die benutzerdefinierte Aktion ausführt. Sie können die im Ereignis gespeicherten Variablen (angegeben auf der Karte „Code ausführen“) verwenden, um auf die Ergebnisse Ihrer benutzerdefinierten Aktion zuzugreifen und sie in die Antwort des Bots einzubeziehen.

Beispiel für eine benutzerdefinierte Aktion

Nehmen wir an, Sie möchten, dass Ihr Chatbot die aktuellen Wetterinformationen für einen bestimmten Ort bereitstellt. Sie können eine benutzerdefinierte Aktion erstellen, die eine Wetter-API aufruft und die Wetterdaten zurückgibt.

const Axios = erfordern ( 'axios' );

const getWeather = async ( Benutzer , Sitzung, Argumente) => {

const location = args.location || 'New York' ;

const apiKey = 'your_weather_api_key' ;

const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${location}`;

versuchen {

const Antwort = Warten auf axios.get(apiUrl);

const WeatherData = Response.data;

return `Das aktuelle Wetter in ${location} ist ${weatherData.current.condition.text} mit einer Temperatur von ${weatherData.current.temp_c}°C.`;

} Catch (Fehler) {

zurückkehren „Tut mir leid, das konnte ich \' Ich rufe derzeit keine Wetterinformationen ab. Bitte versuchen Sie es später noch einmal.' ;

}

};

return getWeather( Benutzer , Sitzung, Argumente);

Diese Aktion benötigt bestimmte Argumente, einschließlich Benutzer, Sitzung und Argumente, die den Kontext und die Daten bereitstellen, mit denen die Aktion arbeiten soll. In diesem Beispiel verwendet die benutzerdefinierte Aktion „getWeather“ den Standort als Argument oder verwendet standardmäßig „New York“, wenn dieser nicht angegeben wird. Die Aktion ruft die Wetter-API über Axios auf, ruft die Wetterdaten ab und gibt eine Nachricht zurück, die die Wetterbedingungen und die Temperatur enthält.

Vorteile von benutzerdefinierten Aktionen

Benutzerdefinierte Aktionen in Botpress bieten mehrere Vorteile, die die Fähigkeiten und Funktionalität Ihres Chatbots verbessern:

  1. Sie erweitern die Chatbot-Funktionalität über die integrierten Funktionen hinaus.
  2. Sie schaffen maßgeschneiderte Interaktionen für ein besseres Benutzererlebnis.
  3. Sie rufen Echtzeitdaten von APIs für dynamische Antworten ab.
  4. Sie lassen sich in Backend-Systeme und Datenbanken integrieren.
  5. Sie bewältigen komplizierte Szenarien mit benutzerdefiniertem Code.
  6. Sie verwenden die Aktionen über Chatbots und Flows hinweg wieder.
  7. Sie implementieren die benutzerdefinierte Fehlerbehandlung und -protokollierung.
  8. Sie optimieren die ressourcenintensiven Aufgaben.
  9. Sie nutzen die externen Dienste zur Skalierung.
  10. Sie greifen auf die vorgefertigten benutzerdefinierten Aktionen zu und teilen diese.

Abschluss

Benutzerdefinierte Aktionen in Botpress erweitern die Chatbot-Funktionen, personalisieren Interaktionen und integrieren externe APIs. Entwickler erstellen die serverseitigen JavaScript-Funktionen und rufen sie über den Botpress Flow Builder auf. Diese Aktionen bieten Wiederverwendbarkeit des Codes, verbesserte Leistung und Skalierbarkeit, was Chatbots zu vielseitigeren und leistungsfähigeren Werkzeugen macht. Durch die Nutzung der benutzerdefinierten Aktionen in Botpress entstehen innovative und ansprechende Chatbot-Erlebnisse.