用途
新着
履歴
分類

streamlit 文字の記述の表現

streamlit 文字の記述の表現

streamlitで文字を表示するときのメソッドのサンプルです。

st.writeとst.write_streamはどちらもstreamlitで文字を表示するメソッドです。

st.writeはとにかく文字を表示し、変数の内容を見やすく表示もしてくれます。

他の言語で言うとdumpやechoやprintに近いです。

st.write("これは通常のテキストです。一瞬でレンダリングされます。")

st.write_streamは文字を入力されているような表現をつけて表示します。

ユーザに対して入力を促すガイドをしたり、チャットのような表現で目を引きたい時のみですので

使う機会は少ない印象です。
def stream_data():
        response_text = """
        こんにちは!
        st.write_streamを使うと、このようにAIチャットのような演出が可能です。
        
        テキストだけでなく、データの一部を少しずつ渡すこともできますが、
        主にLLM(大規模言語モデル)の応答を表示するのによく使われます。
        """
        for word in response_text:
            yield word
            time.sleep(0.05)  # 表示速度の調整用ウェイト

    if st.button("ストリーミングを開始"):
        # ここでジェネレータ関数を渡します
        st.write_stream(stream_data)

全体のコードは以下になります。

st.title("st.write と st.write_stream の比較")

# タブで表示を分けます
tab1, tab2 = st.tabs(["st.write (通常)", "st.write_stream (ストリーミング)"])

# --- st.write の例 ---
with tab1:
    st.header("st.write の特徴")
    st.markdown("データやテキストを**一度に**表示します。")
    
    if st.button("st.write を実行"):
        # テキスト
        st.write("これは通常のテキストです。一瞬でレンダリングされます。")
        
        # データフレーム(st.writeは何でも表示できる万能関数です)
        df = pd.DataFrame({
            '名前': ['Alice', 'Bob', 'Charlie'],
            '点数': [85, 90, 78]
        })
        st.write("データフレームも表示できます:", df)

# --- st.write_stream の例 ---
with tab2:
    st.header("st.write_stream の特徴")
    st.markdown("ジェネレータを受け取り、**タイプライターのように**文字を流して表示します。")

    # ストリーミング用のジェネレータ関数
    # 文字を少しずつ「yield(生成)」して返すのがポイントです
    def stream_data():
        response_text = """
        こんにちは!
        st.write_streamを使うと、このようにAIチャットのような演出が可能です。
        
        テキストだけでなく、データの一部を少しずつ渡すこともできますが、
        主にLLM(大規模言語モデル)の応答を表示するのによく使われます。
        """
        for word in response_text:
            yield word
            time.sleep(0.05)  # 表示速度の調整用ウェイト

    if st.button("ストリーミングを開始"):
        # ここでジェネレータ関数を渡します
        st.write_stream(stream_data)
公開 2025-12-26 15:26:48
更新 2025-12-26 15:45:33
このページの二次元コード
streamlit 文字の記述の表現

同じカテゴリーのサンプル

人気のサンプル

search -  category -  about
© 2025 kipure
Top