Generative KI fürs eigene Apps und Webseiten, Teil 1 Der eigene KI-Chatbot mit Botpress

Von Mirco Lang Lesedauer: 6 min |

Anbieter zum Thema

Warum das Rad neu erfinden, wo es doch gut funktionierende Large Language Models gibt? So kommt man Schritt für Schritt zum eigenen, OpenAI-basierten Chatbot für Apps und Webseiten – mit eigener Wissensbasis und (fast) ohne Code.

Botpress erlaubt das erstellen von Chatbots nach dem No- bzw. Low-Code-Prinzip.
Botpress erlaubt das erstellen von Chatbots nach dem No- bzw. Low-Code-Prinzip.
(Bild: Lang / Botpress.cloud)

Kürzlich haben wir allerlei Chatbot-Frameworks und -Plattformen vorgestellt, über die sich mehr oder weniger zügig und komfortabel KI-betriebene Chat-Roboter erstellen lassen – mal mit wenig Code, mal ganz ohne. Besonders hervorgetan hat sich dabei Botpress.

In diesem kleinen, dreiteiligen Workshop zeigen wir, wie man mit dem Service einen personalisierten Bot bauen, trainieren und bereitstellen kann. Am Ende dieses Prozesses steht (hoffentlich) ein einsatzbereiter Bot, der Website-Besuchern potenzielle Fragen zu Produkten beantworten kann. Insbesondere in Web-basierte Projekte lässt sich der Bot problemlos integrieren.

Dank OpenAI-Backend wird der Bot auch themenfremde Fragen beantworten und ein flüssiges Gespräch führen können. Zugegeben, bisweilen scheinen die Botpress-Bots ein wenig überfordert und bleiben hängen – zumindest in unseren Testläufen. Aber das ist sicher nur eine Frage des trainings.

Ob lockere Kundenansprache auf persönlicher Ebene, ob trockene, ausführliche oder förmliche Kommunikation: Auch derlei Anliegen lassen sich mit Botpress realisieren. Im Gegensatz zu zum Beispiel ChatGPT sind auch geführte Gespräche möglich. Eine Multiple-Choice-Frage soll zu unterschiedlichen Antworten, Fragen oder Aktionen führen? Lässt sich machen.

Bevor es an aber die Umsetzung geht, wollen wir noch ein paar Worte zum Dienst selbst verlieren und ein Beispielprojekt skizzieren.

Botpress.cloud

Kommen wir gleich zum Negativen: Leider ist es nicht mehr möglich, valide Aussagen zum Preismodell von Botpress.cloud zu machen. Zum Zeitpunkt des oben erwähnten letzten Artikels gab es noch einen freien Account für bis zu 1.000 Anfragen pro Monat, bei 100.000 Anfragen wäre man auf 500 US-Dollar gekommen. Mittlerweile hat Botpress auf das unwägbare „Wir bieten nur individuelle Modelle an.“-Konzept umgestellt. Ohne die eigenen Daten preiszugeben und Kontakt zum Verkauf gibt es keine Infos mehr. Im Test-Account werden intern nach wie vor 0,005 USD pro Nachricht veranschlagt, mehr gibt es aber auch dort nicht zu finden.

Als kleine „Warnung“: In Botpress gilt es, ein monatliches Budget anzugeben, das nach den kostenfreien Nachrichten aufgebraucht wird. Standardmäßig ist dies nicht wie üblich auf einen minimalen Betrag eingestellt, sondern auf 1.000 US-Dollar. Ein Probebetrieb auf einer Website mit einigen Zehntausend Visits könnte also schnell teuer werden.

Aus Verbrauchersicht ist dies ärgerlich, denn wer etwas verkauft, sollte idealerweise auch Preise angeben, und selbst bei variablen, individuellen Verträgen gibt es Schätz- und Erfahrungswerte. Ein direkter Kontakt zwischen Verkauf und potenziellen Kunden ließe sich auch anderweitig herstellen. Nicht ohne Grund besteht in Deutschland für Sachgüter sogar die Pflicht, Preise auszuzeichnen. Erfreulicherweise ist das Hinterlegen von Zahlungsinformationen bei Botpress nach wie vor keine Pflicht.

Auf Produktseite besteht Botpress im Grunde aus drei Teilen: Es gibt ein Backend auf OpenAI-Basis, das „Conversation Studio“ als No- bzw. Low-Code-Plattform sowie den „Botpress Hub“. Der Hub liefert derzeit 32 Integrationen, unter anderem für Airtable, GitHub, Gmail, Jira, Teams, Telegram und Zoom sowie Webhooks, die Botpress besonders flexibel machen.

Das Beispielprojekt soll zunächst wie folgt aussehen: Es geht um einen Bot für die Open-Source-Monitoring-Lösung Checkmk aus München. Der Bot soll direkt in Checkmk als Teil eines Dashboards laufen. Inhaltlich soll der clevere Chat auf das offizielle Checkmk-Wissen zurückgreifen, also auf das öffentliche Handbuch.

Das bedeutet: Der Bot muss gebaut, trainiert und anschließend optisch angepasst und eingebettet werden. Hernach wird der Bot noch erweitert, beispielsweise um ChatGPT-Antworten, falls die eigene Wissensbasis nichts hergibt. Und natürlich können Sie statt der Beispieldaten eigene Ressourcen verwenden, um etwa einen Service-Bot für Ihre Webseite zu entwickeln.

Die ersten Schritte

Botpress bietet beim Anlegen eines neuen Bots einige durchaus hilfreiche Vorlagen (bzw. wohl eher Demo-Bots) zur Auswahl, die das Leben durchaus erleichtern können. Allerdings ist Botpress einigermaßen dynamisch, so dass die zur Verfügung stehenden Vorlagen während der Arbeiten an diesem Artikel mehrfach wechselten. Also geht es mit einem leeren Bot los: Wir wählen nach der Anmeldung „Create chatbot“ und anschließend die Vorlage „Start from Scratch“.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Das Studio beim ersten Aufruf.
Das Studio beim ersten Aufruf.
(Bild: Lang / Botpress.cloud)

Zunächst mal ein kurzer Blick auf das Studio. Zur Linken befindet sich die Hauptnavigation mit den „Flows“, den eigentlichen Abläufen innerhalb des Bots, und zugehörigen Assets. Daneben folgen die „Cards“. Das sind die eigentlichen Funktionen, die den Knoten der Flows per Drag and Drop zugeordnet werden können.

In der Mitte ist der Design-Bereich. Fürs Verständnis: Der Text-Part mit „Beginning of the Conversation“ dient lediglich der Information. Solche Texte können wir selbst zur Dokumentation eines Bots setzen – und das sollte man schon beim Testen tun, um später nachvollziehen zu können, was denn an dem Punkt passiert. Auch Videos, etwa Tutorials zu Botpress, lassen sich auf diese Weise auf der Arbeitsfläche platzieren.

In der rechten Spalte sind dann kontextabhängige Einstellungen und unten der Bot-Emulator zu sehen. Der Emulator ist wichtig zum Testen: Standardmäßig beginnt der Emulator bei der „Start“-Karte. Wenn der Mauszeiger über einer Karte steht, hier also „Add_Stuff_Here“, erscheint ein kleines Play-Icon und der Bot kann von diesem Punkt an durchlaufen werden.

In diesem Fall passiert Folgendes: Zunächst wird der vorgegebene, statische Text („This bot is empty …“) ausgegeben. Dann wird die darunter die sogenannte „Transition“ ausgeführt, die quasi Entscheidungen trifft. Bei der Vorgabe wird hier immer („always“) schlicht WAHR angenommen und der Bot endet entsprechend.

Wissen hinzufügen und abfragen

Noch „weiß“ der Bot nichts. In der „Default Knowledge Base“ lassen sich neue Quellen hinzufügen. Das dürfen Offline-Dokumente sein, Suchen auf bestimmten Webseiten beziehungsweise im ganzen Internet oder Webseiten direkt – und da für unser Beispiel das komplette offizielle Handbuch verwendet werden soll, fällt die Wahl auf letztere.

Wissensbasis per Sitemap.
Wissensbasis per Sitemap.
(Bild: Lang / Botpress.cloud)

Nun wird es erfreulich: Hier kann man ganz einfach Sitemaps angeben. Die bisweilen zahlreichen Einträge lassen sich über Schlagworte filtern. In den Beispiel-URLs ist etwa eine Sprachversion zu erkennen: „/de/“ dient hier als Filter , um den Bot nur auf Deutsch anzulernen. Die anschließende Verarbeitung kann dann schnell ein halbes Stündchen dauern.

Dafür geht es jetzt schnell zu ersten Erfolgen:

  • 1. Karte vom Typ „Text“ ins Design ziehen, benennen (hier Bot1) und Begrüßungstext eingeben
  • 2. Karte anklicken und „Enable Knowledge Answering“ aktivieren
  • 3. Start-Marke mit der Karte verbinden

Das Kern-Feature: Aufbereitung von Texten.
Das Kern-Feature: Aufbereitung von Texten.
(Bild: Lang / Botpress.cloud)

Auf der Karte Bot1 erscheint dabei ein Buch-Symbol, das anzeigt, dass auf dieser Karte das Beantworten von Fragen auf Basis der hinzugefügten Wissensbasis aktiviert ist. Im Emulator ist es nun bereits möglich, Fragen an den Bot zu stellen. Egal, ob die Antwort bekannt ist oder nicht, in jedem Fall endet die Konversation abrupt.

Ein explizites Ende.
Ein explizites Ende.
(Bild: Lang / Botpress.cloud)

Schon in der From-Scratch-Vorlage findet sich jedoch ein „End“-Marker, um Prozesse ganz explizit zu beenden. Dieser End-Marker wiederum führt den Workflow aus, der unter „Conversation End“ vermerkt ist. Dieser ließe sich hier bei Bedarf anpassen und gilt dann freilich für alle explizit beendeten Gespräche.

Mit diesem minimalen Aufwand haben wir bereits einen funktionierenden Bot kreiert, der schlicht einzelne Fragen beantwortet. Im zweiten Teil wird es dann deutlich komplexer – schließlich soll eine Konversation ja geführt und überhaupt fortgeführt werden.

Welche Persönlichkeit passt zum jeweiligen Produkt?
Welche Persönlichkeit passt zum jeweiligen Produkt?
(Bild: Lang / Botpress.cloud)

Aber um grundlegend Interessierte bei der Stange zu halten, hier noch ein letztes Feature, dass ein wenig Leben in den Bot bringt: Persönlichkeit. In der Hauptnavigation findet sich der Punkt „Agents“ und darin der Menüpunkt „Personality Agent“.

Aktivieren der „Persönlichkeit“.
Aktivieren der „Persönlichkeit“.
(Bild: Lang / Botpress.cloud)

Wird dieser Punkt aktiviert, braucht es nur eine kurze Beschreibung, wie sich der Bot verhalten soll. Wie wäre es mit einem typischen, hilfreichen Admin mit prägnanten Antworten, angereichert um Humor, Emojis und gelegentliche xkcd-Referenzen? Zu guter Letzt muss auch der „Personality Agent“ wie oben bereits das „Knowledge Answering“ für die Karte aktiviert werden.

Ein erster Prototyp mit Persönlichkeit.
Ein erster Prototyp mit Persönlichkeit.
(Bild: Lang / Botpress.cloud)

Schon steht unser erster Prototyp – mit ein paar interessanten Details, wie im Bild zu sehen. Zunächst einmal kann der Bot natürlich auch auf Englisch antworten, trotz nur deutschsprachiger Quellen. Die geforderten Charaktereigenschaften lassen sich sehr gut wiederfinden: Die Antwort ist in kurze Häppchen gegliedert, es gibt reichlich Emojis und zumindest Anflüge von Humor. Die verlinkten Quellen werden dem Attribut „hilfreich“ gerecht.

(ID:49777067)