Kogno es un marco de código abierto que se ejecuta en el lenguaje de programación Ruby para desarrollar aplicaciones conversacionales.
Está basado en la arquitectura MVC y fuertemente inspirado en Rails, por lo que si alguna vez ha trabajado en este marco, Kogno le resultará muy familiar.
Actualmente se soportan las siguientes plataformas de mensajería: WhatsApp, Messenger y Telegram, manteniendo un código unificado en una única aplicación para todas ellas.
Documentación completa
Puede leer la documentación completa en https://docs.kogno.io o simplemente continuar aquí.
$ gem install kogno
$ kogno new my_chatbot
my_chatbot
e instale las dependencias:Las bibliotecas de desarrollo MySQL deben estar previamente instaladas antes de ejecutar el siguiente comando.
$ 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
Para poder recibir webhooks debes configurar las plataformas de mensajería:
- Configurar WhatsApp
- Configurar Telegrama
- Configurar mensajería
El siguiente código representa una clase Context
, que es el equivalente de una clase Controller
en 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
En el ejemplo anterior, MainContext
tiene la capacidad de manejar los siguientes escenarios:
intent "greeting"
: un mensaje de saludo como "Hola" o "Hola". El cual fue previamente creado y entrenado en el motor de PNL.postback"featured_products"
: evento de clic en el botón "Ver productos" que se envió como respuesta en el bloque anterior con intención de "saludo".keyword ["stop", "quit"]
: Específicamente dos palabras clave "detener" o "salir".everything_else
: cualquier mensaje cuyas características no coincidan con los criterios de ejecución de los bloques enumerados anteriormente.Para comprender mejor cómo funcionan los bloques y ver la lista completa de ellos, consulte el siguiente enlace https://docs.kogno.io/contexts/blocks.
Puedes contribuir mucho a este proyecto desarrollando aplicaciones conversacionales con Kogno y, en caso de que encuentres un error, infórmalo.
Y si te apasiona tanto como a nosotros, ven y codifica con nosotros corrigiendo errores, agregando más integraciones y creando más funciones.
Kogno se publica bajo la licencia MIT.
Más información
Lea la documentación completa en http://docs.kogno.io.
También puede descargar el código fuente de la aplicación de demostración de reserva de vuelos escrita en Kogno.