新卒の同期で勉強会をした時の話
3週間連続での投稿となります。今回は、去年新卒の同期と勉強会をした時のお話を書きます。
勉強会の経緯
新卒の同期のうち、プログラミング経験者たちの間で「未経験者向けにAIの勉強会をしたい」という話になりました。募集した結果、思ったより多くの人たちの参加希望があったため、3つのグループに分かれて開催することにしました。 その中で、私たちのグループは、「Web上で動くものを作った方が楽しいだろう」という理由から、AIを使った簡単なWebアプリを作ることにしました。
勉強会の概要
作ったもの
StreamlitとGCPの画像認識APIを組み合わせて、簡単な物体検出アプリを作りました。
実施時間
勉強会は隔週で行われ、実施日は参加者の希望により決定しました。(最終的には木曜日に収束しました。)勉強会自体は毎回夜の20:00に始まり、約1時間で終了するようにしました。(ただし、延長する場合もありました。)初めての勉強会で詳細なスケジュールが分からなかったため、最終成果物が完成次第終了することにしました。実際に、終了したのは昨年度の12月でした。
目的
先述の通り、隔週での開催なので、本格的なプログラミングの勉強は難しいと判断しました。そのため、参加者にプログラミングに対するモチベーションを高めてもらうために、簡単なWebアプリを作成することにしました。
実施場所
基本的にフルリモートで実施しました。最初はLINE通話で実施していましたが、同期からの提案により、Discordに移行しました。無料で使いやすかったため、非常に便利でした。
開発環境
Streamlit
Pythonで簡単にWebアプリが作成できるフロントエンドフレームワークです。今回の勉強会とは非常に親和性が高かったです。
Cloud Vision API (GCP)
AIを一から作るのは難しいのでAPIに頼ることにしました。これを選んだのは月1000ユニットまで呼び出しが無料で、かつPythonのクライアントライブラリが提供されているためです。
Docker
今回の勉強会では、参加者の環境がWindowsとMacで分かれていました。そこで、開発環境の相違によるトラブルを防ぐために、Dockerをインストールしてもらうことにしました。
参考までに技術スタック図を掲載します。(載せるほどでもないですが)

工夫したところ
なるべくシンプルな技術スタックにする
先述の通り、今回の勉強会の参加者は未経験者が多くかつ隔週の開催なので難しい技術を使うことは避けるべきだと判断しました。そこで、Streamlitでクライアントライブラリ経由でAPIを呼び出すだけの簡単な技術スタックとしました。
参加できなかった人のためにドキュメントを書いておく
なるべく日程調整はしましたが、それでも参加できない人もいたため、勉強会に関するドキュメントを作成し、そちらで補完するようにしました。このドキュメントは参加している人にも役に立ってもらえたようです。 ちなみにこのドキュメントは残っているので参考文献に貼っておきます。
課題
Dockerを使うべきだったか
今回、OSの手順違いの問題でDockerを使いましたが、この点でいくつか問題がありました。まず、Dockerのインストール自体にOSごとの違いがあり、インストールを行うのに3回分ほどの時間を使ってしまいました。また、Ubuntuのコンテナを使って実施しましたが、起動が非常に重く参加者の中で実行できない人が出てしまいました。 今回の勉強会で取り扱った内容はOSごとに差異が出るほどでもなかったので正規でPythonをインストールする方法でもよかったと思います。もしくは Localtunnelを使えばGoogle Colablatoryでも起動できるらしいのでそちらも検討の余地があると思います。(セキュリティ面での検証が必要ですが)
もし、今年もやるとしたら
私はもはや新卒ではないのでこんなことを書いても意味ないですが、もし今年も同じように勉強会をするなら以下のように工夫すると思います。
Streamlitは継続して使う。
おそらくWebアプリというテーマであれば、Streamlitが最適だと思います。Pythonのフレームワークであることから、APIやクライアントライブラリとの親和性が高く、StreamlitやPython自体の敷居が低いことが理由に挙げられます。
ChatGPT APIを使った 対話アプリの作成
去年の時点では画像認識が楽しいだろうという理由でこの題材にしましたが、昨今はこちらでやる方が注目度が高いでしょう。gpt-3.5-turboであれば費用はかかりませんし、利用制限をかけられるようなので今だったら間違いなくこちらの題材でやると思います。
今回は以上になります。皆さんもぜひやってみてください。
参考文献
- 私が作成したStreamlitでAIアプリを作るためのドキュメント
- Cloud Vision API
- Streamlit API reference
- Google ColaboratoryでサクっとStreamlit(最小構成)