Closed2
streamlitでchatのavatar画像を大きくしたい!
streamlitではchat_message()
のavatar
引数に画像ファイルを渡すとチャットのアイコンを好きな画像に変更できます。
import streamlit as st
if prompt := st.chat_input("What is up?"):
with st.chat_message("user", avatar="assets/user_icon.png"):
st.markdown(prompt)
ただ、通常だとかなり小さくて見づらいので大きくしたい。
- pipでinstallしたstreamlitのライブラリを探す(例:
/usr/local/lib/python3.10/dist-packages/streamlit
) -
streamlit/static/static/js/main.{hogehoge}.js
を探す - この中の
return{width:On,height:On
をreturn{width:"4rem",height:"4rem"
に置換する - もし
return{width:On,height:On
が見つからなかったらreturn{width:"2rem",height:"2rem"
を置換する
4rem
でも画像によっては小さいかな?と思うこともあるので6rem
とかがいいかもしれません。
streamlitのソース的にはここのAVATAR_SIZE
という定数だと思うのでここを書き換えてビルドすればいいのでしょうが。。
カスタムCSSを使う例はこちら。全ての環境に対応できているかは未確認。。
これで問題なくできたよ!って方がいらっしゃいましたら♡で反応いただけますと参考になります。
import streamlit as st
image_size = 6 # default=2
image_message_gap = 1 # default=0.5
CHAT_MESSAGE_STYLE = f"""<style>
img.eeusbqq0 {{
width: {image_size}rem !important;
height: {image_size}rem !important;
}}
.stChatMessage.eeusbqq4 {{
gap: {image_message_gap}rem !important;
}}
</style>
"""
st.markdown(CHAT_MESSAGE_STYLE, unsafe_allow_html=True)
if prompt := st.chat_input("What is up?"):
with st.chat_message("user", avatar="assets/user_icon.png"):
st.markdown(prompt)
このスクラップは3ヶ月前にクローズされました