コードなしでボットを作成できるフレームワークBotfront

公開日:2019/12/19 更新日:2019/12/19
コードなしでボットを作成できるフレームワークBotfrontのサムネイル

はじめに

Botfrontは、GUIのエディタでボットに発言させたい内容やユーザのメッセージに対してどのような応答を返すかを編集してボットを作成できるフレームワークです。ボットの作成自体はコードを書かずにできるようになっています。また、作成したボットをWebサイトやSlack上で動作させることも可能です。ただ、Botfrontをデプロイするのはそれなりに作業が必要な感じです。この記事では、Botfrontをローカル環境にインストールしてボットを作成してみるところまでをまとめます。

Botfrontについて

Botfrontはオープンソースのボット作成フレームワークです。Rasaというテキストや音声ベースのコミュニケーション処理を機械学習で自動化するためのフレームワークを使って動いています。Botfrontは英語や日本語以外にも多くの言語に対応しています。以下がBotfrontの公式サイトです。

botfront.io

Open source platform for context-aware chatbots

また、リポジトリは以下になります。

github.com

An open source chatbot platform built with Rasa.

できるようになること

非常に簡単な例になりますが、以下のようにユーザのメッセージに応答するボットをBotfrontを使って作成します。なお、以下のダッシュボードはGoogle Chromeからアクセスできます。

botfron-demo.gif

なお、作成したBotfrontを実際にWebサイトやSlack等に繋げるところまではこの記事では書いていません。これらについては以下の公式ドキュメントを見てみてください。この記事はBotfrontの紹介程度になります。

botfront.io

Botfront comes as a collection of services delivered as Docker images that you need to orchestrate so they can work together. You have different options.

前提と環境

Botfrontは、Node.jsとDockerを使って動作します。公式ドキュメントにはNode.jsとDockerのバージョンについて具体的なバージョン番号は記載されていませんが、なるべく最新のバージョンが良さそうです。以下は私の環境でのバージョンになります。

  • OS : Ubuntu18.04
  • Node.js : 10.16.0
  • Docker : 19.03.5
  • ブラウザはGoogle Chromeを推奨

Botfrontをインストールする

Botfront用に適当なディレクトリを作成しておきます。ここでは、ホームディレクトリにbotfrontというディレクトリを作成します。

~/
$ mkdir botfront
$ cd botfront

npmでBotfrontをインストールします。以下はグローバルにインストールします。

~/botfront
$ npm install -g botfront

以上でインストールが完了です。

インストール後、以下でBotfrontのプロジェクトを作成します。

~/botfront
$ botfront init
? Create a new project in the current directory? Yes
┌────────────────────────────────────┐
│                                    │
│   Your project has been created.   │
│                                    │
│   Run botfront up to start it.     │
│                                    │
└────────────────────────────────────┘

以上で準備が完了です。

Botfrontを起動する

以下でBotfrontを起動します。

~/botfront
$ botfront up

Dockerイメージのダウンロードなどが開始され少々時間がかかるので待機します。 最終的に以下のように端末に表示されます。

~/botfront
$ botfront up
✔ Docker images ready.
⠴ Starting Botfront...

        🎉 🎈  Botfront is UP! 🎉 🎈

┌──────────────────────────────────────────────────────────────────────┐
│Useful commands:                                                      │
│                                                                      │
│• Run botfront logs to see logs and debug                             │
│• Run botfront  to  a service │
│• Run botfront down to stop Botfront                                  │
│• Run botfront --help to get help with the CLI                        │
│• Run botfront docs to browse the online documentation                │
│                                                                      │
└──────────────────────────────────────────────────────────────────────┘

⠋ Opening Botfront (http://localhost:8888) in your browser...

同時にブラウザで以下のように「Welcome to Botfront」と表示されます。ここでBotfrontの設定を行っていきます。「Let's get started」をクリックします。

welcome-to-botfront.png

以下のように、ユーザ名とメールアドレス、パスワードの入力フォームが表示されるのでそれぞれ入力して「Continue」をクリックして進みます。 

setup-your-info.png

続いてプロジェクト名とボットで使用する言語を設定します。使用する言語は「Japanese」を選択しました。

setup-first-project.png

最後に登録したメールアドレスにニュースレターなどを送信してよいかの確認です。送信をOKする場合は「Yes, Finish」、送信を希望しない場合は「Maybe later」をクリックします。

setting-email.png

以下のようにダッシュボードが表示されます。ここから自分のボットを作っていきます。

dashboard.png

Botfrontでボットを作成する

ボットの作成手順ですが、これはBotfront公式のYouTubeの動画を見るとおおよそ分かると思います。以下の動画を先に見てみてください。

www.youtube.com

Botfront lets you author and automate contextual conversations from an intuitive UI. It’s open source, easy to install, and based on the most popular open so...

Botfrontでユーザとボットの会話を作成したら、以下のように画面右上にある「Train everything」をクリックします。すると設定したボットが作成されます。

train-everything.png

作成したボットをテストするには、以下のように吹き出しマークをクリックします。

test-bot.png

以下のようにチャットが開くので、ここでユーザとしてテキストを入力してボットの動作を確認できます。

open-test-bot.png

Botfrontではボタン付きの応答をさせることもでき、色々なことができます。より詳しくは以下の公式ドキュメントを見てみてください。

botfront.io

Botfront Documentation

まとめ

Botfrontはブラウザからアクセスできるダッシュボードからボットを直感的に作成でき、別途作業は必要ですがWebサイトに埋め込んだりSlackと連携させたりできます。この記事では導入までしか書いていませんが、興味のある方はぜひ触ってみてください。

関連記事

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。