Unverified 提交 3111fb56 作者: CHANGXUBO 提交者: GitHub

Fix: 将gradio版本升级至3.28.3,修复知识库下拉框change事件获取值不是当前选中值的bug。 (#261)

* webui优化:解决每次页面刷新后都需要重新选择知识库的问题,增加Flagging收集问答效果。

* Fix: 将gradio版本升级至3.28.3,修复知识库下拉框change事件获取值不是当前选中值的bug。

* solve webui confict

---------

Co-authored-by: Bob Chang <bob.chang@amway.com>
Co-authored-by: imClumsyPanda <littlepanda0716@gmail.com>
上级 12fa4a2b
......@@ -8,7 +8,6 @@ import uuid
nltk.data.path = [NLTK_DATA_PATH] + nltk.data.path
def get_vs_list():
lst_default = ["新建知识库"]
if not os.path.exists(VS_ROOT_PATH):
......@@ -57,7 +56,6 @@ def get_answer(query, vs_path, history, mode,
yield history, ""
logger.flag([query, vs_path, history, mode], username=username)
def init_model():
try:
local_doc_qa.init_cfg()
......@@ -115,6 +113,7 @@ def get_vector_store(vs_id, files, history):
return vs_path, None, history + [[None, file_status]]
def change_vs_name_input(vs_id, history):
if vs_id == "新建知识库":
return gr.update(visible=True), gr.update(visible=True), gr.update(visible=False), None, history
......@@ -136,18 +135,16 @@ def add_vs_name(vs_name, vs_list, chatbot):
if vs_name in vs_list:
vs_status = "与已有知识库名称冲突,请重新选择其他名称后提交"
chatbot = chatbot + [[None, vs_status]]
return gr.update(visible=True), vs_list, chatbot
return gr.update(visible=True), vs_list,gr.update(visible=True), gr.update(visible=True), gr.update(visible=False), chatbot
else:
vs_status = f"""已新增知识库"{vs_name}",将在上传文件并载入成功后进行存储。请在开始对话前,先完成文件上传。 """
chatbot = chatbot + [[None, vs_status]]
return gr.update(visible=True, choices=vs_list + [vs_name], value=vs_name), vs_list + [vs_name], chatbot
return gr.update(visible=True, choices= [vs_name] + vs_list, value=vs_name), [vs_name]+vs_list, gr.update(visible=False), gr.update(visible=False), gr.update(visible=True),chatbot
block_css = """.importantButton {
background: linear-gradient(45deg, #7e0570,#5d1c99, #6e00ff) !important;
border: none !important;
}
.importantButton:hover {
background: linear-gradient(45deg, #ff00e0,#8500ff, #6e00ff) !important;
border: none !important;
......@@ -155,9 +152,7 @@ block_css = """.importantButton {
webui_title = """
# 🎉langchain-ChatGLM WebUI🎉
👍 [https://github.com/imClumsyPanda/langchain-ChatGLM](https://github.com/imClumsyPanda/langchain-ChatGLM)
"""
default_vs = vs_list[0] if len(vs_list) > 1 else "为空"
init_message = f"""欢迎使用 langchain-ChatGLM Web UI!
......@@ -175,6 +170,7 @@ default_path = os.path.join(VS_ROOT_PATH, vs_list[0]) if len(vs_list) > 1 else "
with gr.Blocks(css=block_css) as demo:
vs_path, file_status, model_status, vs_list = gr.State(default_path), gr.State(""), gr.State(
model_status), gr.State(vs_list)
gr.Markdown(webui_title)
with gr.Tab("对话"):
with gr.Row():
......@@ -200,13 +196,10 @@ with gr.Blocks(css=block_css) as demo:
)
vs_name = gr.Textbox(label="请输入新建知识库名称",
lines=1,
interactive=True)
vs_add = gr.Button(value="添加至知识库选项")
vs_add.click(fn=add_vs_name,
inputs=[vs_name, vs_list, chatbot],
outputs=[select_vs, vs_list, chatbot])
file2vs = gr.Column(visible=False)
interactive=True,
visible=True if default_path=="" else False)
vs_add = gr.Button(value="添加至知识库选项", visible=True if default_path=="" else False)
file2vs = gr.Column(visible=False if default_path=="" else True)
with file2vs:
# load_vs = gr.Button("加载知识库")
gr.Markdown("向知识库中添加文件")
......@@ -225,6 +218,9 @@ with gr.Blocks(css=block_css) as demo:
)
load_folder_button = gr.Button("上传文件夹并加载知识库")
# load_vs.click(fn=)
vs_add.click(fn=add_vs_name,
inputs=[vs_name, vs_list, chatbot],
outputs=[select_vs, vs_list,vs_name,vs_add, file2vs,chatbot])
select_vs.change(fn=change_vs_name_input,
inputs=[select_vs, chatbot],
outputs=[vs_name, vs_add, file2vs, vs_path, chatbot])
......@@ -284,4 +280,4 @@ with gr.Blocks(css=block_css) as demo:
server_port=7860,
show_api=False,
share=False,
inbrowser=False))
inbrowser=False))
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论