Nibeは、シンプルな会話ボットアプリケーションです。
ユーザー入力から応答メッセージを決定する際、類義語を検索するために「日本語 WordNet」を使用しています。
公式サイトより、WordNetのデータベースをダウンロードしてプロジェクトルートディレクトリに配置してください。
ユーザー入力を形態素解析するためにMecabを使用しているため、Mecabとライブラリのインストールをする必要があります。 また、WordNetにアクセスするためにSQLiteのライブラリを使用するため、こちらもインストールする必要があります。 以下はインストール方法の例です。
$ brew install mecab
$ brew install mecab-ipadic
$ apt install mecab libmecab-dev mecab-ipadic-utf8
$ apt install sqlite3 libsqlite3-dev
キャラクターの画像を frontend/assets/character.png
に配置してください。
推奨サイズは 960x720px
です。
フッターコンポーネントを frontend/components/development/footer.vue
を参考に frontend/components/production/footer.vue
に作成してください。
Config/production
にconfig.json
を作成し、設定を書いてください。Config/development/config.json
をコピーして変更が必要な項目のみ書き換えると楽です。
項目 | 説明 |
---|---|
bot.name | botの名前です。メッセージウィンドウに表示されます |
paths.public | 静的ファイルを配置するディレクトリの相対パスです |
paths.dictionary | 辞書ファイルが配置されたディレクトリの相対パスです |
paths.wordnetFile | 日本語WordNetデータベースファイルの相対パスです |
server.origin | サーバーのOriginです。CORSやWebSocketのアップグレード判定に使用されます |
server.wsOrigin | WebソケットサーバーのOriginです。クライアントがサーバーに接続する際に使用します |
server.maxClientConnections | WebSocketで接続可能なクライアント数の上限です |
server.secureOnly | Cookieにsecure属性を付与する場合はtrueにします |
server.mongoURI | MongoDBのURIです |
Dockerを用いない場合はサーバーとクライアントのビルド環境を用意する必要があります。 以下の環境で動作確認済みです。
- Swift 5.4
- node v12.18.0
- yarn 1.22.10
サーバーのビルドは実行時に行います
$ cd frontend
$ yarn install
$ yarn build
make setup
で辞書ファイルの初期化を行ってください。
リポジトリをクローン後、1度だけ実行してください。
$ swift run Run -e prod
http://localhost:8080
にアクセスするとアプリケーションが表示されます。
辞書ファイルを編集するためのエディタも用意しています。
$ cd editor
$ yarn install
$ yarn start
http://localhost:3000
にアクセスするとエディタが表示されます。
エディタで編集した内容はeditor/dictionaries
に反映されます。
更新した後は、アプリケーションを再起動してください。
Docker
とDocker Compose
がインストールされている場合、簡単にアプリケーションを起動できます。
config.json
のserver.mongoURI
をmongodb://mongo/nibe
に変更してください。
make up
でコンテナを立ち上げます。
MITライセンスで配布しています。詳細はLICENSEファイルを参照してください。