ソフトウェア開発者のための OSS、まとめてみました!

ソフトウェア開発を行なっている自分が、個人的に面白いと思ったプログラムの最新技術や、オープンソースソフトウェア(OSS)をまとめています!

MENU

Microsot の作成した Bot フレームワークサンプルを試してみたいなら!「BotBuilder-Samples」

概要

近年 AI の普及や人工知能の活躍などが高く期待されてきています。

そんな中、AI・人工知能とまではいかないまでも、人間などのユーザーが入力した言葉や情報などを自動的に処理し、プログラミングした結果を返してくれる「ボット」なるものが最近よく目にすると思います。

このようなボットについて、大企業などはフレームワークなどを用意して、様々な場面で利用してもらえるように日々開発を行っていたり、OSS 活動をしていることが多々あります。

Microsoft 社が作成した「Bot Framework SDK」なるものがボットサービスとして注目を浴びているのですが、今回私が紹介する OSSMicrosoft 社自体が「Bot Framework SDK」のサンプルを提供している「BotBuilder-Samples」になります。

Bot Framework SDK」自体は、Microsoft 社が開発者用に出しているボット作成フレームワークで(Bot Framework SDK)、ここでは実際にそのサンプルを動かしてみて、ボットが動いた様子などを紹介できればと思います。

利用手順

今回はボットのサンプルのほうを動かすので、以下のリポジトリからリポジトリをクローンします。

    git clone https://github.com/Microsoft/BotBuilder-Samples.git
    cd BotBuilder-Samples

クローン後、ディレクトリ内を見てみると「Samples」というディレクトリ、さらにその中にどの言語で動かすかのディレクトリが格納されています。

今回は「Python」で動作させるため、以下のパスに移動しました。

    cd BotBuilder-Samples/samples/python

移動したディレクトリ内にはいくつかのサンプル用ディレクトリがあります。

ここではサンプルとして「01.console-echo」を動作してみます。

    cd 01.console-echo

Python で動作させるために必要なモジュールをインストールし、起動させてみます。

    pip install -r requirements.txt
    python main.py

正常に起動すると以下のようなメッセージがコンソールに表示されるので、何かコメントを打って Enter キーを入力すると、Bot が入力したキーを返答してくれます!

    python main.py

    > python main.py
    Hi... I'm an echobot. Whatever you say I'll echo back.
    > hello
    I heard you say hello

使用感

リポジトリをクローンした後は使用したいプログラミング言語C#JavaJavaScriptPython、TypeScript」など、専用のディレクトリが用意されていましたので、実際にサンプルを動かす言語でそれぞれ動作準備を行うことで、簡単にサンプルを動作させることができそうでした。

さすが大手の Microsoft 社ということだけあって、サンプルもとても丁寧に用意されていました。

まとめ

今回は Microsoft 社が作成した「Bot Framework SDK」のサンプル用リポジトリ「BotBuilder-Samples」を紹介しました。

今後 Microsoft 社のボットフレームワークを使用して開発を行う際に、いきなりドキュメントから開発を行うというのはとても大変だと思いますので、このようなサンプルから使用感などを把握できるのはいいですね。

今回はサンプルリポジトリの紹介というだけだったので 1つのサンプル「01.console-echo」しか触っていませんでしたが、他にも「02.echo-bot」や「19.custom-dialog」など興味をそそられるボットサンプルがたくさんありました。

Python ディレクトリだけでも約 40 個のサンプルがありました!通し番号は 80 番台まであるので、他の言語でしかないサンプルなどもあり、いくつか見てみるのも面白そうですね。

Microsoft 社の「Bot Framework SDK」を使用してサービスを作成する際、どのボットを使用するかなどを「BotBuilder-Samples」で機能などを把握してから開発を進めてみるのはいかがでしょうか。

ライセンス

MIT License

リンク

github.com

github.com