StreamlitとGeminiAPIで手軽に作るチャットボット

2024/02/02に公開されました。
2024/02/02に更新されました。

PythonでWebアプリを手軽に作れるフレームワークStreamlitとGemini APIを使用してチャットボットWebアプリを作ります。


author: Mami

はじめに

GIクラウドのMamiです。

2023年12月に強力な大規模言語モデル(LLM)であるGeminiがリリースされました。Ultra、Pro、Nanoの3サイズがあります。さらにVertex AI、Google AI StudioでGemini Pro APIを使えるようになりましたので、Gemini Pro APIを使用して、チャットボットWebアプリを作ります。

Google AIとVertex AIで何が違うのかは、こちらのサイト「Google AI の Gemini から Vertex AI に移行する」が参考になります。今回は簡単に利用できるGoogle AI Studioを使います。Google AI StudioはGoogleアカウントでサインインするだけで、1分あたり60リクエストまでの無料枠を利用できます。(Workspaceアカウントを使用してGoogle AI Studioにアクセスする場合は、そのアカウントで早期アクセスアプリを有効にする必要があります。)

チャットボットのWebアプリフレームワークとして、Streamlitを使います。StreamlitはGoogle Colabから使用出来るので環境構築の必要なく、手軽にWebアプリ作れてしまいます。またローカルで作成したものを外部に公開するために、localtunnel(ローカルトンネル)を使用しています。ngrok(エングロック)でも可能ですが、localtunnelの方がより簡単に出来ます。以下が完成形です。

チャットボットを作成するにあたり、以下を使用します。

ツール概要
GeminiAPIAPI経由でGemini Pro(LLM)が使える
StreamlitPythonで実装されたオープンソースのWebアプリケーションのフレームワーク
Google Colabセットアップ不要でブラウザ上でPythonコードが実行可能
localtunnelローカルで起動したアプリケーションを一時的に外部に公開する

Gemini APIキー取得

まずは、Gemini Pro APIキーを取得します。Google AI Studioの画面左上の「Get API Key」より取得可能です。APIキーをコピーして保存しておきます。

Google Colabを起動して実行

GoogleColabを使用して以下を実行します。

その際、APIキーを入れるところがあるので、先ほど取得したAPIキーを入れてください。

最後まで実行すると、以下が表示されます。

「External URL」のIPアドレスをコピーした後、記載されているURLに行きます。

「Tunnel Password」に先ほどコピーしたIPアドレスを入力して[Click to Submit]を押下します。以下画面が表示されます。

終わりに

Google AI Studioの中でチャットが出来るので、わざわざチャットボットを作る必要はありませんが、Gemini APIとStreamlitを使って環境構築なしにソースコード数十行でここまで実現できてしまうことに驚きました。Streamlitも初めて使いましたが、本当に便利だったのでこれから使っていきたいです。今回はテキスト入力ができるGemini Proを使用しましたが、画像入力ができるGemini Pro Visionというモデルもあります。OCRなど色々試せそうですね。最後までお読み頂きありがとうございました。

※本記事は、ジーアイクラウド株式会社の見解を述べたものであり、必要な調査・検討は行っているものの必ずしもその正確性や真実性を保証するものではありません。

※リンクを利用する際には、必ず出典がGIC dryaki-blogであることを明記してください。
リンクの利用によりトラブルが発生した場合、リンクを設置した方ご自身の責任で対応してください。
ジーアイクラウド株式会社はユーザーによるリンクの利用につき、如何なる責任を負うものではありません。