Kogno est un framework open source fonctionnant sur le langage de programmation Ruby pour développer des applications conversationnelles.
Il est basé sur l'architecture MVC et fortement inspiré de Rails, donc si vous avez déjà travaillé sur ce framework, Kogno vous sera très familier.
Les plateformes de messagerie suivantes sont actuellement prises en charge : WhatsApp, Messenger et Telegram, en conservant un code unifié dans une seule application pour toutes.
Documentation complète
Vous pouvez lire la documentation complète sur https://docs.kogno.io ou simplement continuer ici.
$ gem install kogno
$ kogno new my_chatbot
my_chatbot
et installez les dépendances :Les bibliothèques de développement MySQL doivent être préalablement installées avant d'exécuter la commande suivante.
$ 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
Afin de recevoir des webhooks vous devez configurer les plateformes de messagerie :
- Configurer WhatsApp
- Configurer le télégramme
- Configurer Messenger
Le code ci-dessous représente une classe Context
, qui est l'équivalent d'une classe Controller
dans Ruby on Rails :
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
Dans l'exemple ci-dessus, MainContext
a la capacité de gérer les scénarios suivants :
intent "greeting"
: un message de bienvenue tel que "Bonjour" ou "Salut". Qui a été préalablement créé et formé sur le moteur NLP.postback"featured_products"
: cliquez sur l'événement sur le bouton "Afficher les produits" qui ont été envoyés en réponse dans l'intention de bloc précédente "salutation".keyword ["stop", "quit"]
: Plus précisément deux mots-clés "stop" ou "quit".everything_else
: Tout message dont les caractéristiques ne correspondent pas aux critères d'exécution des blocs listés ci-dessus.Pour mieux comprendre le fonctionnement des blocs et pour en voir la liste complète, consultez le lien suivant https://docs.kogno.io/contexts/blocks.
Vous pouvez beaucoup contribuer à ce projet en développant des applications conversationnelles avec Kogno et si vous trouvez un bug, merci de le signaler.
Et si cela vous passionne autant que nous, venez coder avec nous en corrigeant des bugs, en ajoutant plus d'intégrations et en créant plus de fonctionnalités.
Kogno est publié sous la licence MIT.
Apprendre encore plus
Lisez la documentation complète sur http://docs.kogno.io.
Vous pouvez également télécharger le code source de l'application de démonstration de réservation de vol écrite en Kogno.