一文定義
PythonスクリプトでインタラクティブなWebアプリをコード最小限で構築できるフレームワーク。LLMデモ・RAGアプリのプロトタイプ開発に広く使われる。
詳細解説
Streamlitとは、データサイエンティストや機械学習エンジニアがPythonのみでインタラクティブなWebアプリを構築・共有できるオープンソースフレームワークです。Streamlit Inc.が開発し、2022年にSnowflakeが買収しました。HTMLやJavaScriptの知識不要でデータ可視化・機械学習デモ・LLMアプリのプロトタイプを構築できるため、AI開発者のプロトタイピングツールとして広く普及しています。
設計思想として、Streamlitは「スクリプト実行型UI」を採用しています。Pythonスクリプトを上から下へ実行するだけでUIが構築され、ユーザーがスライダー・ボタン・テキスト入力等を操作するとスクリプト全体が再実行されてUIが更新されます。この「リアクティブ再実行」モデルにより、複雑な状態管理コードなしで双方向インタラクションを実現できます。
主要UIコンポーネントとして、`st.text_input()`・`st.slider()`・`st.selectbox()`等の入力ウィジェット、`st.write()`・`st.markdown()`・`st.dataframe()`・`st.plotly_chart()`等の出力コンポーネント、`st.chat_message()`・`st.chat_input()`等のチャットUI専用コンポーネントを提供します。
LLMアプリ開発での主要ユースケースとして、(1)ChatGPT類似のチャットボットUI:`st.chat_message()`と`st.session_state`で会話履歴を管理し、LLM APIを呼び出す数十行のコードでチャットアプリが完成、(2)RAGデモ:ファイルアップロード(`st.file_uploader()`)・ベクター検索・LLM回答を1つのページに統合したRAGデモを素早く構築、(3)プロンプト実験ダッシュボード:パラメーター(温度・モデル等)をスライダーで調整しながらLLM出力を比較するツールを構築があります。
`streamlit run app.py` コマンドで即座にローカルサーバーが起動し、Streamlit Community Cloud(無料ホスティング)・Hugging Face Spaces・AWS・GCPへのデプロイも容易です。GradioとのすみわけとしてStreamlitはより汎用的なWebアプリ向け、GradioはML/AIデモの迅速な公開に特化しています。
参考情報・出典
- ▸Streamlit Official Documentation— Streamlit / Snowflake(参照日: 2026-02-26)
- ▸Streamlit Official Website— Streamlit / Snowflake(参照日: 2026-02-26)