Langchain-Chatchat/webui_pages/dialogue/dialogue.py

39 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import streamlit as st
from webui_pages.utils import *
from streamlit_chatbox import *
chat_box = ChatBox()
def dialogue_page(api: ApiRequest):
with st.sidebar:
dialogue_mode = st.radio("请选择对话模式",
["LLM 对话",
"知识库问答",
"Bing 搜索问答"])
history_len = st.slider("历史对话轮数:", 1, 10, 1)
if dialogue_mode == "知识库问答":
selected_kb = st.selectbox("请选择知识库:", get_kb_list())
with st.expander(f"{selected_kb} 中已存储文件"):
st.write(get_kb_files(selected_kb))
# Display chat messages from history on app rerun
chat_box.output_messages()
if prompt := st.chat_input("请输入对话内容换行请使用Ctrl+Enter"):
chat_box.user_say(prompt)
chat_box.ai_say("正在思考...")
# with api.chat_fastchat([{"role": "user", "content": "prompt"}], stream=streaming) as r:
# todo: support history len
text = ""
r = api.chat_chat(prompt, no_remote_api=True)
for t in r:
text += t
chat_box.update_msg(text)
chat_box.update_msg(text, streaming=False)
# with api.chat_chat(prompt) as r:
# for t in r.iter_text(None):
# text += t
# chat_box.update_msg(text)
# chat_box.update_msg(text, streaming=False)