ホームページ >バックエンド開発 >Python チュートリアル >Streamlit パート チャット インターフェイスの構築
独自のチャット インターフェイスを構築したいと思ったことはありますが、複雑すぎると思ったことはありませんか?さて、良いニュースがあります。Streamlit を使用すると、驚くほど簡単になります。後でより洗練されたものに拡張できる、基本的なチャット アプリを作成する手順を見てみましょう。
私たちは、ユーザーがメッセージを入力して応答を得ることができるチャット インターフェイスを作成しています。これは、将来のチャットボットや AI アシスタントの基盤と考えてください。一番いいところは?これを実現するには、ほんの数行の Python コードが必要です。
まず、Streamlit アプリをセットアップしましょう。チャットメッセージに十分なスペースを与えるために、幅の広いレイアウトが必要です:
import streamlit as st import time st.set_page_config( page_title="Chat App", layout="wide", initial_sidebar_state="collapsed", ) st.title("Let's Chat!")
チャット アプリにはメモリが必要です。会話の前半で話された内容を覚えておく必要があります。 Streamlit には、これに最適なセッション状態と呼ばれる優れた機能があります。
if "messages" not in st.session_state: st.session_state.messages = []
これにより、チャット履歴を保存するリストが作成されます。話した内容をすべて書き留めるノートのようなものだと考えてください。
次に、チャット メッセージを表示しましょう。メッセージ履歴をループし、各メッセージをチャットバブルに表示します:
for msg in st.session_state.messages: with st.chat_message(msg["role"]): st.write(msg["content"])
ここで魔法が起こります。ユーザーがメッセージを入力できるテキスト ボックスを追加します:
prompt = st.chat_input("Say something...") if prompt: # Add user message to chat st.session_state.messages.append({"role": "user", "content": prompt}) with st.chat_message("user"): st.write(prompt) # Add a simple bot response time.sleep(1) # A brief pause to make it feel more natural bot_response = f"You said: {prompt}" st.session_state.messages.append({"role": "bot", "content": bot_response}) with st.chat_message("bot"): st.write(bot_response)
現時点では、私たちのボットはあなたの発言をエコーバックするだけです。しかし、ここは創造性を発揮できる場所です。次のことができます:
すべてが 1 つのきちんとしたパッケージにまとめられています:
import streamlit as st import time st.set_page_config(page_title="Chat App", layout="wide", initial_sidebar_state="collapsed") st.title("Let's Chat!") if "messages" not in st.session_state: st.session_state.messages = [] for msg in st.session_state.messages: with st.chat_message(msg["role"]): st.write(msg["content"]) prompt = st.chat_input("Say something...") if prompt: st.session_state.messages.append({"role": "user", "content": prompt}) with st.chat_message("user"): st.write(prompt) time.sleep(1) bot_response = f"You said: {prompt}" st.session_state.messages.append({"role": "bot", "content": bot_response}) with st.chat_message("bot"): st.write(bot_response)
これで完成です! 30 行未満のコードで動作するチャット インターフェイス。かなりクールですよね?
次回は、ボットが実際にメッセージを理解して応答できるようにするための AI スマート機能の追加について見ていきます。乞うご期待!
これを試してみませんか?コードをコピーし、Streamlit をインストールし (pip install streamlit)、streamlit run your_file.py で実行するだけです。コーディングを楽しんでください!
?コードを入手: GitHub - jamesbmour/blog_tutorials
?関連する Streamlit チュートリアル:JustCodeIt
?私の仕事をサポートしてください: コーヒーを買ってください
以上がStreamlit パート チャット インターフェイスの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。