1 import streamlit as st
2
3 # セッションステートの初期化
4 if "messages" not in st.session_state:
5 st.session_state.messages = []
6
7 # メッセージ履歴の表示
8 for message in st.session_state.messages:
9 with st.chat_message(message["role"]):
10 st.markdown(message["content"])
11
12 # ユーザーからの入力を受け取る
13 if prompt := st.chat_input("メッセージを入力してください"):
14 # ユーザーのメッセージを履歴に追加
15 st.session_state.messages.append({"role": "user", "content": prompt})
16 # チャットメッセージとして表示
17 with st.chat_message("user"):
18 st.markdown(prompt)
19
20 # AIからの応答を生成(本来はここにLLMのクライアントを呼び出すコードが入る)
21 response = f"Echo: {prompt}"
22
23 # AIのメッセージを履歴に追加
24 st.session_state.messages.append({"role": "assistant", "content": response})
25 # チャットメッセージとして表示
26 with st.chat_message("assistant"):
27 st.markdown(response)
28