Grundlegende Übersicht
Rasa Talk ist ein Dialogmanagement-Tool, das auf Rasa NLU aufbaut. Es entstand aus dem Wunsch nach einem Open-Source-Dialogmanagementsystem vor Ort. Ursprünglich von Rasa inspiriert, wurde die UI-Inspiration der Watson-Konversation entnommen.
Rasa Talk kann nur als Trainingsdatengenerator verwendet werden, kann Ihren Chatbot aber auch mit Facebook/Telegram/Skype/Slack verbinden!
Schreiben Sie mir gerne eine Nachricht
Demo
https://www.talk.jackdh.com (Benutzer: [email protected] Pass: demo1234)
Installation
Voraussetzungen
- Datenbank: Mongodb – Sie können dies lokal oder online wie mlab ausführen
- Chatbot Brain: Rasa NLU – Ich empfehle die Ausführung mit Docker
git clone https://github.com/jackdh/RasaTalk/
Rename example.env to '.env'
Update the variables to include your MongoDB server IP and Rasa NLU IP.
yarn
yarn start
Docker
Aktualisieren Sie .env
oder docker-compose.yml
mit ausgewählten Umgebungsvariablen. (Mongodb-Volumes funktionieren nicht unter Windows)
docker-compose up
Oder sehen Sie sich https://github.com/jackdh/RasaTalk/wiki/Setup an, um eine detailliertere Einrichtungsanleitung zu erhalten
Auf und ab
- Aktualisieren Sie .env mit den richtigen Umgebungsvariablen.
- Erstellen Sie einen neuen Benutzer
- Fügen Sie einen neuen Agenten hinzu
- Fügen Sie dem Agenten einige Absichten hinzu
- Fügen Sie den Absichten einige Ausdrücke hinzu.
- Fügen Sie bei Bedarf Entitäten hinzu.
- Beginnen Sie mit dem Training des Modells
- Erstellen Sie einen Dialogknoten, der entweder von Intent oder Regex erkannt wird.
- Füllen Sie den Rest des Knotens aus
- Testen Sie es rechts!
Merkmale
Facebook / Skype / Dritte.
Aufgrund der verbrauchbaren Beschaffenheit von RT ist es möglich, es an praktisch jeden gewünschten Chatbot eines Drittanbieters anzuschließen. Für den Anfang habe ich ein kurzes Beispiel beigefügt, wie Sie [Botkit](https://github.com/howdyai/botkit) als Middleware verwenden können, um zu Facebook zu gelangen
Sowohl Facebook als auch Telegram können einfach in der App eingerichtet werden. Weitere Informationen finden Sie im Telegram-Setup-Wiki!
Generieren Sie Rasa NLU-Trainingsdaten
- Agenten – Erstellen Sie mehrere Agenten, um mehrere Chatbots von einem Backend aus zu hosten.
- Absichten/Ausdrücke – Erstellen Sie mehrere unterschiedliche Ausdrücke innerhalb der Agenten, entweder manuell oder mit dem Variantengenerator.
- Entitäten – Erstellen Sie mehrere Entitäten mit ihren Synonymen.
- Einfügen von Entitäten – Markieren Sie diese Option, um Entitäten in Ausdrücke einzufügen
Dialogmanagement
- Dialogverwaltung im Watson-Konversationsstil.
- Regex-basierte oder absichtsbasierte Erkennung.
- Dynamische Erkennung mit mehreren Absichten oder Entitäten, z. B. #intent ODER @entity
- Intelligentes Kontextbewusstsein
- Slot-Füllung mit Standard-Slot oder Eingabeaufforderung
- Mehrere und/oder unterschiedliche Antworten.
- Zu Knoten springen
- Senden und verwenden Sie REST-API-Web-Hooks innerhalb von Knoten.
- Bedingungsbasierte Antworten, Webhooks, Jump-to-Antworten.
- Speichern Sie Benutzerantworten für die zukünftige Verwendung in Knoten oder APIs
- Erstellen Sie Schaltflächen für schnelle Antworten.
Erlaubnisbasierte Bearbeitung
- Rollenbasierte, gruppenbasierte und individuelle Benutzerberechtigungen.
- Erstellen Sie sichere Benutzerkonten mit PassportJS
- Beschränken Sie den Benutzerzugriff auf bestimmte Funktionen innerhalb der Anwendung.
Rasa trainieren
- Konvertieren Sie Absichten in Trainingsdaten.
- Genaues Einfügen von Entitäten (nicht nur Suchen und Ersetzen)
- Aktuelle Trainingszeit anzeigen.
- Sehen Sie sich Modelle an, die sich derzeit im Training befinden.
Eingebaute Chatbot-/Rasa-Parser
- Pingen Sie den Rasa-Server direkt an, um eine JSON-Antwort zu erhalten.
- Testen Sie den Chatbot direkt, um die Ergebnisse der Dialogverwaltung zu sehen.
Kommt noch!
Weitere Analysen
- Füllen Sie das vordere Dashboard aus, um die einfachen Analysen zu erweitern.
Geschichte
- Sehen Sie sich die Chats der Benutzer mit dem Chatbot an.
- Filtern Sie nach Kriterien wie Datum, Themen oder Absichten.
Smalltalk
- Führen Sie einfachen Smalltalk durch.
Todo / Hilfe angefordert!
- Erhöhen Sie die Testabdeckung auf 100 %.
- Travis / Appveyor hinzufügen
- Stellen Sie Autovervollständigungsoptionen für Felder wie Knoten bereit.
- Bessere Validierung/Fehlerbenachrichtigungen.
- Umbenennungsoption für Absichten/Ausdrücke hinzufügen
- Sicherungsoption für Knoten-/Trainingsdaten hinzufügen.
- Fügen Sie Sockets für Chat sowie Update-Benachrichtigungen hinzu.
Bekannte Probleme
- Prettier greift ein nicht existierendes Problem mit den Abständen auf.
- Dashboard-Analysen benötigen einen Standardwert.
Danke
@Material-UI React Boilerplate