Jednoduchý chatbot s pomocí Wingbot platformy

V JavaScriptu se celkem příjemně a rychle programuje a chatbot není nic jiného, než serverová aplikace. Abychom se vyhli složité integraci na messaging kanál, pomůže wingbot.ai

Nejdříve zapojení projektu

Dejme tomu, že chatbota napojíme na Facebook Messenger. Budeme k tomu potřebovat základní NPM modul wingbot a integrační modul wingbot-facebook. Určitě se bude hodit i webserver - express.

npm i -S wingbot wingbot-facebook express  

Nebudeme zapojovat modul pro Messaging Marketing, který umožňuje vytvářet publikum pro retargeting pomocí "sponsored messages". Zapojení provedeme následovně v souboru app.js

const express = require('express');  
const { Facebook } = require('wingbot-facebook');  
const { Processor } = require('wingbot');  
const bot = require('./bot');

const processor = new Processor(bot);

const facebook = new Facebook(processor, {  
    appSecret: '<app secret>',
    pageToken: '<page token>'
});

const app = express();

app.post('/bot', express.json(), (req, res, next) => {  
    channel.processEvent(parsedBody)
        .then(() => res.send('OK'))
        .catch(e => next(e));
});

app.listen(process.env.PORT || 3000);  

Píšeme samotného chatbota

Aby chatbot fungoval, potřebuje alespoň dvě interakce. Startovací a takzvaný fallback. Ty připravíme do souboru bot.js. A přidáme interakci a pro ukázku bez NLP - strojového učení - umělé inteligence pro rozpoznání psaného textu.

const { Router } = require('wingbot');

const bot = new Router();

bot.use('start', (req, res) => {  
    res.text('Welcome');
});

bot.use(/hello|hi|ciao/, (req, res) => {  
    res.text('Hello');
});

bot.use((req, res) => {  
    res.text('Don\'t understand', {
        start: 'Go to Start'
    });
});

module.exports = bot;  

Design konverzace v grafickém rozhraní

Wingbot umožňuje připravovat konverzace i v grafickém rozhraní a chatbot si z něj interakce dokáže načíst. K tomu se dostaneme v dalších dílech.

David Menger

Read more posts by this author.