get_img_base64

This commit is contained in:
glide-the 2024-05-21 14:20:11 +08:00
parent ac37048525
commit afba07e42d
5 changed files with 25 additions and 6 deletions

View File

@ -118,6 +118,13 @@ def _import_data_path() -> Any:
return DATA_PATH
def _import_img_dir() -> Any:
basic_config_load = CONFIG_IMPORTS.get("_basic_config.py")
load_mod = basic_config_load.get("load_mod")
IMG_DIR = load_mod(basic_config_load.get("module"), "IMG_DIR")
return IMG_DIR
def _import_nltk_data_path() -> Any:
basic_config_load = CONFIG_IMPORTS.get("_basic_config.py")
@ -477,6 +484,8 @@ def __getattr__(name: str) -> Any:
return _import_chatchat_root()
elif name == "DATA_PATH":
return _import_data_path()
elif name == "IMG_DIR":
return _import_img_dir()
elif name == "NLTK_DATA_PATH":
return _import_nltk_data_path()
elif name == "LOG_FORMAT":

View File

@ -19,6 +19,11 @@ DATA_PATH = os.path.join(CHATCHAT_ROOT, "data")
if not os.path.exists(DATA_PATH):
os.mkdir(DATA_PATH)
# 项目相关图片
IMG_DIR = os.path.join(CHATCHAT_ROOT, "img")
if not os.path.exists(IMG_DIR):
os.mkdir(IMG_DIR)
# nltk 模型存储路径
NLTK_DATA_PATH = os.path.join(DATA_PATH, "nltk_data")
import nltk

View File

@ -17,7 +17,7 @@ if __name__ == "__main__":
st.set_page_config(
"Langchain-Chatchat WebUI",
get_img_url("chatchat_icon_blue_square_v2.png"),
get_img_base64("chatchat_icon_blue_square_v2.png"),
initial_sidebar_state="expanded",
menu_items={
'Get Help': 'https://github.com/chatchat-space/Langchain-Chatchat',
@ -46,7 +46,7 @@ if __name__ == "__main__":
with st.sidebar:
st.image(
get_img_url('logo-long-chatchat-trans-v2.png'),
get_img_base64('logo-long-chatchat-trans-v2.png'),
use_column_width=True
)
st.caption(

View File

@ -19,7 +19,7 @@ from chatchat.webui_pages.utils import *
from chatchat.webui_pages.dialogue.utils import process_files
chat_box = ChatBox(
assistant_avatar=get_img_url("chatchat_icon_blue_square_v2.png")
assistant_avatar=get_img_base64("chatchat_icon_blue_square_v2.png")
)

View File

@ -693,12 +693,17 @@ def check_success_msg(data: Union[str, dict, list], key: str = "msg") -> str:
return ""
def get_img_url(file_name: str) -> str:
def get_img_base64(file_name: str) -> str:
'''
image url used in streamlit.
get_img_base64 used in streamlit.
absolute local path not working on windows.
'''
return f"{api_address()}/img/{file_name}"
image = f"{IMG_DIR}/img/{file_name}"
# 读取图片
with open(image, "rb") as f:
buffer = BytesIO(f.read())
base_str = base64.b64encode(buffer.getvalue()).decode()
return f"data:image/png;base64,{base_str}"
if __name__ == "__main__":