本アプリは、南海放送のTV番組のナレーション原稿から、新聞に掲載するTV番組の広告文を生成するものである
本アプリは、以下の3つの外部サービスを利用して動作する
- GitHub : アプリのプログラムを保存・管理する場所
- Hugging Face : 広告文を生成するAIを利用するためのサービス
- Streamlit Cloud : Webブラウザ上でアプリを動作させるための実行環境
これらはそれぞれ役割が異なっており、順番に設定を行うことでアプリを利用できるようになる
全てのサービスにおいて無料枠があり、無料で利用することができる
GitHubとは、インターネット上にある保管場所のようなもので、アプリのプログラムを安全に保存・管理するためのサービスである
- GitHubのサイトへアクセス
- 右上の
Sign upをクリック - メールアドレス、パスワード、ユーザーネームなどを入力し、
Create accountボタンをクリックしてアカウントを作成
リポジトリとは、アプリを構成するプログラムや設定ファイル一式をまとめて保管している場所のことで、この中にアプリの動作に必要なファイルが全て入っている
他のリポジトリを自分のアカウントにコピーする動作をFork(フォーク)という
今回は、我々のアカウントにあるリポジトリを自分のアカウントにコピーし、それを使ってアプリを実行する
- GitHubにアクセス
- 右上の
Forkボタンをクリック - 右下の緑色
Create Forkボタンをクリックして自分のリポジトリにコピー
Hugging Faceは、AIモデルを提供しているサービスである
本アプリでは、広告文を生成する機能を利用するために使っている
- Hugging Faceのサイトへアクセス
- 右上の
Sign Upボタンをクリック - メールアドレス、パスワード、ユーザーネームを入力してアカウントを作成
APIとは、外部のサービスに機能を依頼するための窓口のことで、APIキーはその機能を利用するための認証用の鍵のようなものである
本アプリではAPIキーを通じてAIモデルを利用するため、APIキーを取得する
- Hugging Faceにログイン
- 右上の丸いアイコンをクリックし、
Settingsボタンをクリック - 左側にある
Access Tokensをクリック - 右上にある
+ Create new tokenをクリック - Token type を
Readにして Token name に任意の名前を入力 Create tokenボタンをクリックしてAPIキーを作成- 表示される
hf_からはじまるAPIキーをコピー(このときにしか表示されないので絶対にコピーしておく)
※APIキーは絶対に外部に公開しない
Streamlit Cloudは、GitHub上に保存したプログラムを実行し、Webブラウザ上でアプリとして利用できるようにするサービスである
ここでは、自分のGitHubアカウントにコピーしたリポジトリを使い、アプリを利用できる状態にする
- Streamlit Cloudにアクセス
Continue to sign-inボタンをクリックGitHubで続行を選択し、連携を許可
プログラムを実際に利用できる状態にすることをDeploy(デプロイ)という
ここでは、GitHub上のプログラムを読み込み、ブラウザからアクセスできる状態にするためにデプロイを行う
- share.streamlitにアクセス
- 右上の
Create appをクリック Deploy a public app from GitHubを選択- Repositoryに
アカウント名/PBL、Branchにmain、Main file pathにapp.pyを選択(枠をクリックすると候補がでてくる) - App URLに任意の名前を入力(これがアプリのURLになる)
Deployをクリックしてアプリを作成
※アプリは、URLを共有した人のみが利用できる
Streamlit Cloud上で本アプリを動作させるためには、APIキーを安全な場所(Secrets)に設定する必要がある
Secretsに設定した情報は外部から直接閲覧することはできず、実行時にのみアプリへ安全に提供される
- share.streamlitにアクセス
- 作成したアプリ(pbl・main・app.py)の右端にある︙をクリックし、
Settingsをクリック - 左側にある
Secretsをクリック - 枠の中に以下を入力(
""の間に、先ほど取得してコピーしたAPIキーを貼り付け)HUGGINGFACEHUB_API_TOKEN = "取得したAPIキー" - 右下の
Save changesをクリックして保存 - これで、作成したアプリ(pbl・main・app.py)をクリックすると使える
※一定期間アクセスがなければアプリがスリープ状態になるが、表示される Yes, get this app back up! ボタンをクリックして少し待てば起動する
左側のサイドバーで詳細設定を行い、原稿を入力して 広告文を生成 ボタンを押すと、数秒で広告文と文字数が表示される
テキストボックスに入力した際、右下に小さく Press Enter to apply や Press Ctrl+Enter to apply と表示されるので、指示に従って入力内容を確定する
出力された広告文は手動で編集することが可能である
編集後に Ctrl+Enter を押すと、文字数表示も更新される
ダウンロードボタンを押すと、選択したファイル形式および指定したファイル名で、広告文を保存することができる
Huggingfaceの Inference Providers のページにて、APIキーの利用状況を確認することができる
無料利用枠には使用回数やトークン数の制限があり、基本的には毎月1日の9時にリセットされる
ただし利用状況やシステムの都合により、1日後や1週間後に再度利用可能となる場合もある
利用上限に達した場合の対応として、別のメールアドレスでHuggingfaceのアカウントを新規作成し、APIキーを取得するという方法がある
※APIキーは絶対に外部に公開しない