-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- streamlit 更新到 1.34,webui 支持 Dialog 操作 - streamlit-chatbox 更新到 1.1.12,更好的多会话支持 - 开发者 - 在 API 中增加项目图片路由(/img/{file_name}),方便前端使用
- Loading branch information
1 parent
98cb1aa
commit 9fddd07
Showing
10 changed files
with
349 additions
and
315 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,97 +1,71 @@ | ||
import sys | ||
|
||
import streamlit as st | ||
import streamlit_antd_components as sac | ||
|
||
# from chatchat.webui_pages.loom_view_client import update_store | ||
# from chatchat.webui_pages.openai_plugins import openai_plugins_page | ||
from chatchat.configs import VERSION | ||
from chatchat.server.utils import api_address | ||
from chatchat.webui_pages.utils import * | ||
from streamlit_option_menu import option_menu | ||
from chatchat.webui_pages.dialogue.dialogue import dialogue_page, chat_box | ||
from chatchat.webui_pages.knowledge_base.knowledge_base import knowledge_base_page | ||
import os | ||
import sys | ||
from chatchat.configs import VERSION | ||
from chatchat.server.utils import api_address | ||
|
||
|
||
# def on_change(key): | ||
# if key: | ||
# update_store() | ||
img_dir = os.path.dirname(os.path.abspath(__file__)) | ||
|
||
api = ApiRequest(base_url=api_address()) | ||
|
||
if __name__ == "__main__": | ||
is_lite = "lite" in sys.argv | ||
is_lite = "lite" in sys.argv # TODO: remove lite mode | ||
|
||
st.set_page_config( | ||
"Langchain-Chatchat WebUI", | ||
os.path.join(img_dir, "img", "chatchat_icon_blue_square_v2.png"), | ||
get_img_url("chatchat_icon_blue_square_v2.png"), | ||
initial_sidebar_state="expanded", | ||
menu_items={ | ||
'Get Help': 'https://github.com/chatchat-space/Langchain-Chatchat', | ||
'Report a bug': "https://github.com/chatchat-space/Langchain-Chatchat/issues", | ||
'About': f"""欢迎使用 Langchain-Chatchat WebUI {VERSION}!""" | ||
}, | ||
layout="wide" | ||
|
||
) | ||
|
||
# use the following code to set the app to wide mode and the html markdown to increase the sidebar width | ||
st.markdown( | ||
""" | ||
<style> | ||
[data-testid="stSidebar"][aria-expanded="true"] > div:first-child{ | ||
width: 350px; | ||
[data-testid="stSidebarUserContent"] { | ||
padding-top: 20px; | ||
} | ||
[data-testid="stSidebar"][aria-expanded="false"] > div:first-child{ | ||
width: 600px; | ||
margin-left: -600px; | ||
.block-container { | ||
padding-top: 25px; | ||
} | ||
[data-testid="stBottomBlockContainer"] { | ||
padding-bottom: 20px; | ||
} | ||
""", | ||
unsafe_allow_html=True, | ||
) | ||
pages = { | ||
"对话": { | ||
"icon": "chat", | ||
"func": dialogue_page, | ||
}, | ||
"知识库管理": { | ||
"icon": "hdd-stack", | ||
"func": knowledge_base_page, | ||
}, | ||
# "模型服务": { | ||
# "icon": "hdd-stack", | ||
# "func": openai_plugins_page, | ||
# }, | ||
} | ||
# 更新状态 | ||
# if "status" not in st.session_state \ | ||
# or "run_plugins_list" not in st.session_state \ | ||
# or "launch_subscribe_info" not in st.session_state \ | ||
# or "list_running_models" not in st.session_state \ | ||
# or "model_config" not in st.session_state: | ||
# update_store() | ||
|
||
with st.sidebar: | ||
st.image( | ||
os.path.join(img_dir, "img", 'logo-long-chatchat-trans-v2.png'), | ||
get_img_url('logo-long-chatchat-trans-v2.png'), | ||
use_column_width=True | ||
) | ||
st.caption( | ||
f"""<p align="right">当前版本:{VERSION}</p>""", | ||
unsafe_allow_html=True, | ||
) | ||
options = list(pages) | ||
icons = [x["icon"] for x in pages.values()] | ||
|
||
default_index = 0 | ||
selected_page = option_menu( | ||
menu_title="", | ||
selected_page = sac.menu( | ||
[ | ||
sac.MenuItem("对话", icon="chat"), | ||
sac.MenuItem("知识库管理", icon="hdd-stack"), | ||
], | ||
key="selected_page", | ||
options=options, | ||
icons=icons, | ||
# menu_icon="chat-quote", | ||
default_index=default_index, | ||
open_index=0 | ||
) | ||
|
||
if selected_page in pages: | ||
pages[selected_page]["func"](api=api, is_lite=is_lite) | ||
sac.divider() | ||
|
||
if selected_page == "知识库管理": | ||
knowledge_base_page(api=api, is_lite=is_lite) | ||
else: | ||
dialogue_page(api=api, is_lite=is_lite) |
Oops, something went wrong.