StreamlitとFastAPIでCSVファイルと画像ファイルを扱う最小限のコードです。
アプリURL: https://stream-it-fastapi.streamlit.app/
・主な機能はFastAPIで実装しましょう。
・FastAPIでは出来ないユーザーインターフェースの部分をStreamlitで実装しましょう。
・今回の場合では、ファイルのアップロードや処理結果の表示をStreamlitで実装しています。
※Streamlitで全て実装することも可能ですが、このようにを切り分けることでStreamlitの部分をNext.jsなどのモダンな環境で作成することが可能になります。
requirements.txt
に記載しています。
以下のコマンドでインストールすることができます。
pip install -r requirements.txt
FastAPI
uvicorn main:app
Streamlit
streamlit run streamlit_app.py
Render URL: https://dashboard.render.com/
①『New+』をクリックします。
②『Web Service』をクリックします。
④デプロイするリポジトリの『Connect』をクリックします。
⑤『Name』に任意のアプリ名を入力します。デプロイ時のURLに利用されます。
⑥『Start Command』にuvicorn main:app --host 0.0.0.0 --port 10000
を入力します。
※このコマンドによりFastAPI側のmain.pyが実行されます。
⑦『Create Web Service』をクリックします。
⑧アプリの起動を確認します。
⑨『デプロイURL』をクリックします。
{"message":"Hello World"}
と表示されていれば成功です!
これは以下の部分が対応しています。
Lines 10 to 13 in 9ef24ef
Streamlit Share URL: https://share.streamlit.io/
②デプロイするリポジトリをクリックします。
③公開するアプリURLを設定します。
④『Advanced settings...』をクリックします。
⑤『Secrets』に以下の内容を入力します。
([your-app-name]
の部分は『FastAPI側をRenderへのデプロイ手順』の⑨を参照下さい)
RENDER_URL = "https://[your-app-name].onrender.com"
これは以下の部分が対応しています。
streamlit-fastapi/streamlit_app.py
Lines 7 to 10 in 4ad85f1