import base64 import streamlit as st from chatbot.core import get_chat_response # Helper function to load and convert image to base64 def load_image_as_base64(image_path): with open(image_path, "rb") as img_file: img_bytes = img_file.read() encoded = base64.b64encode(img_bytes).decode("utf-8") return f"data:image/png;base64,{encoded}" # Convert your local avatar image (make sure it's in the same directory or adjust the path) avatar_base64 = load_image_as_base64("avatar.png") st.set_page_config(page_title="Kumiko v1 Assistant", layout="wide") st.markdown( """

Kumiko v1 Assistant

""", unsafe_allow_html=True ) if "messages" not in st.session_state: st.session_state.messages = [] # Display chat history for message in st.session_state.messages: if message["role"] == "assistant": avatar = avatar_base64 # Use the base64 avatar for assistant messages else: avatar = None with st.chat_message(message["role"], avatar=avatar): st.markdown(message["content"]) # Chat input user_input = st.chat_input("Nhập tin nhắn của bạn...") if user_input: st.session_state.messages.append({"role": "user", "content": user_input}) with st.chat_message("user"): st.markdown(user_input) response = get_chat_response(user_input) st.session_state.messages.append({"role": "assistant", "content": response}) with st.chat_message("assistant", avatar=avatar_base64): st.markdown(response)