機械学習した会話システムのUIにするチャットシステムとして
docker-composeコマンドで一発起動できるRocketChatを立ち上げた。
次は、チャットボットをあげないといけない。
いろいろ調べると、GitHub御謹製の HuBot を紹介している記事が
ちらほら..
docker-composeでRocketChatと一緒にあげている人もいるが..
運用上、RocketChatはそのままでチャットボットだけ止めたいなんて場合もあるから
個別にあげることにした。
dockerコマンドスクリプトを組むのは厄介なので
別途違うディレクトリで次のようなdocker-compose.ymlを用意した。
docker-compose する前に ./data/hubot/scripts ディレクトリを切っておく。
このディレクトリの下に自分のチャットボットcoffeeスクリプトを置き、docker-compose stop && docker-compose up -d すれば反映される。
たとえば以下のような簡単なCoffeeスクリプトサンプル hello.coffee を配置し、
再起動すると、
正しく動いている場合は
上記の設定ではRocketChat上のパブリックなチャネルには
adminiostrator.rocketchat というユーザが存在し、
緑ポチ(接続中)になっているはずだ。
たとえば #general に入って、「administrator.rocketchat hello」と入力すると、
すぐにadministrator.rocketchatユーザから「World」という返信が表示されるはずだ。
あとはtensorflow + FlaskでREST API化した会話システムAPIを呼び出し、返信するようなCoffeeスクリプトを掛けば良い
..んだけど..
Coffeeスクリプトの書き方を勉強しないと..
あれ、Coffeeスクリプトは時代遅れって記事もあるなあ..
さて、どうするか..
docker-composeコマンドで一発起動できるRocketChatを立ち上げた。
次は、チャットボットをあげないといけない。
いろいろ調べると、GitHub御謹製の HuBot を紹介している記事が
ちらほら..
docker-composeでRocketChatと一緒にあげている人もいるが..
運用上、RocketChatはそのままでチャットボットだけ止めたいなんて場合もあるから
個別にあげることにした。
dockerコマンドスクリプトを組むのは厄介なので
別途違うディレクトリで次のようなdocker-compose.ymlを用意した。
version: '2'
services:
hubot:
image: rocketchat/hubot-rocketchat:latest
dns:
- <社内DNSサーバ IPアドレス1>
- <社内DNSサーバ IPアドレス2>
- 160.14.254.1
dns_search:
- <社内DNS ドメイン名>
volumes:
- ./data/hubot/scripts:/home/hubot/scripts
- /etc/localtime:/etc/localtime:ro
environment:
- ROCKETCHAT_URL=<RocketChatサーバIPアドレス>:<ポート番号>
- ROCKETCHAT_ROOM=''
- LISTEN_ON_ALL_PUBLIC=true
- ROCKETCHAT_USER=administrator.rocketchat
- ROCKETCHAT_PASSWORD=<administrator.rocketchatのパスワード>
- BOT_NAME=administrator.rocketchat
- EXTERNALSCRIPTS=hubot-diagnostics,hubot-help,hubot-seen,hubot-links,hubot-greetings
- TZ=Asia/Tokyo
- HTTP_PROXY=http://<社内Proxyサーバ IPアドレス>:<ポート番号>
- HTTPS_PROXY=http://<社内Proxyサーバ IPアドレス>:<ポート番号>
- NO_PROXY=localhost,127.0.0.1,*.<社内DNS ドメイン名>
labels:
- traefik.enable=false
ports:
- 3332:8080
docker-compose する前に ./data/hubot/scripts ディレクトリを切っておく。
このディレクトリの下に自分のチャットボットcoffeeスクリプトを置き、docker-compose stop && docker-compose up -d すれば反映される。
たとえば以下のような簡単なCoffeeスクリプトサンプル hello.coffee を配置し、
# Commands:
# hubot hello
module.exports = (robot) ->
robot.respond /hello$/i, (msg) ->
msg.send "World"
再起動すると、
正しく動いている場合は
上記の設定ではRocketChat上のパブリックなチャネルには
adminiostrator.rocketchat というユーザが存在し、
緑ポチ(接続中)になっているはずだ。
たとえば #general に入って、「administrator.rocketchat hello」と入力すると、
すぐにadministrator.rocketchatユーザから「World」という返信が表示されるはずだ。
FreeIPA連携のときユーザ名を #{givenName}.#{sn} にしちゃって、ユーザIDも同じ名前にしちゃったもんだから、ユーザIDが長くなりめんどくさくなってしまった..ここらは、各自で直してください。
あとはtensorflow + FlaskでREST API化した会話システムAPIを呼び出し、返信するようなCoffeeスクリプトを掛けば良い
..んだけど..
Coffeeスクリプトの書き方を勉強しないと..
あれ、Coffeeスクリプトは時代遅れって記事もあるなあ..
さて、どうするか..
0 件のコメント:
コメントを投稿