Kogno ist ein Open-Source-Framework, das auf der Programmiersprache Ruby zur Entwicklung von Konversationsanwendungen läuft.
Es basiert auf der MVC-Architektur und ist stark von Rails inspiriert. Wenn Sie also schon einmal an diesem Framework gearbeitet haben, wird Ihnen Kogno sehr vertraut sein.
Derzeit werden die folgenden Messaging-Plattformen unterstützt: WhatsApp, Messenger und Telegram, wobei für alle ein einheitlicher Code in einer einzigen Anwendung verwaltet wird.
Vollständige Dokumentation
Sie können die vollständige Dokumentation unter https://docs.kogno.io lesen oder einfach hier fortfahren.
$ gem install kogno
$ kogno new my_chatbot
my_chatbot
und installieren Sie die Abhängigkeiten:Die MySQL-Entwicklungsbibliotheken müssen zuvor installiert werden, bevor der folgende Befehl ausgeführt wird.
$ bundle install
config/database.yml
: adapter : mysql2
pool : 5
username : your_user_name
password : your_password
host : localhost
database : your_database_name
encoding : utf8mb4
collation : utf8mb4_unicode_ci
$ kogno install
$ kogno http start
Um Webhooks zu empfangen, müssen Sie die Messaging-Plattformen konfigurieren:
- Konfigurieren Sie WhatsApp
- Telegramm konfigurieren
- Messenger konfigurieren
Der folgende Code stellt eine Context
-Klasse dar, die einer Controller
Klasse in Ruby on Rails entspricht:
class MainContext < Conversation
def blocks
intent "greeting" do
@reply . text "Hello!"
@reply . button (
"How can I help you today?" ,
[
{
title : "View Products" ,
payload : "featured_products"
} ,
{
title : "My Cart" ,
payload : "purchases/view_cart"
}
]
)
end
postback "featured_products" do
@reply . text "Alright."
@reply . template "products/featured" , title : "Here is a list of today's featured products."
end
keyword [ "stop" , "quit" ] do
@reply . text "Alright"
@reply . typing 2 . seconds
@reply . text "I'll stop writing you now.."
end
everything_else do
@reply . text "Sorry, but I don't understand what you said."
end
end
end
Im obigen Beispiel kann MainContext
die folgenden Szenarien verarbeiten:
intent "greeting"
: Eine Begrüßungsnachricht wie „Hallo“ oder „Hallo“. Welches zuvor auf der NLP-Engine erstellt und trainiert wurde.postback"featured_products"
: Klicken Sie auf die Schaltfläche „Produkte anzeigen“, die im vorherigen Block-Intent „Gruß“ als Antwort gesendet wurden.keyword ["stop", "quit"]
: Konkret zwei Schlüsselwörter „stop“ oder „quit“.everything_else
: Jede Nachricht, deren Eigenschaften nicht den Ausführungskriterien der oben aufgeführten Blöcke entsprechen.Um die Funktionsweise von Blöcken besser zu verstehen und ihre vollständige Liste anzuzeigen, klicken Sie auf den folgenden Link: https://docs.kogno.io/contexts/blocks.
Sie können viel zu diesem Projekt beitragen, indem Sie mit Kogno Konversationsanwendungen entwickeln. Falls Sie einen Fehler finden, melden Sie ihn bitte.
Und wenn Sie genauso leidenschaftlich dabei sind wie wir, kommen Sie und programmieren Sie mit uns, indem Sie Fehler beheben, weitere Integrationen hinzufügen und weitere Funktionen erstellen.
Kogno wird unter der MIT-Lizenz veröffentlicht.
Erfahren Sie mehr
Lesen Sie die vollständige Dokumentation unter http://docs.kogno.io.
Sie können auch den Quellcode der in Kogno geschriebenen Flugreservierungs-Demo-App herunterladen.