|
if "messages" not in st.session_state.keys(): |
|
st.session_state.messages = [{"role": "assistant", "content": "你好,我是你的助手,有什么我可以帮助你的吗?"}] |
|
|
|
|
|
for message in st.session_state.messages: |
|
with st.chat_message(message["role"]): |
|
st.write(message["content"]) |
|
|
|
def clear_chat_history(): |
|
st.session_state.messages = [{"role": "assistant", "content": "你好,我是你的助手,有什么我可以帮助你的吗?"}] |
|
|
|
st.sidebar.button('Clear Chat History', on_click=clear_chat_history) |
|
|
|
|
|
def generate_llama_index_response(prompt_input): |
|
return greet2(prompt_input) |
|
|
|
|
|
if prompt := st.chat_input(): |
|
st.session_state.messages.append({"role": "user", "content": prompt}) |
|
with st.chat_message("user"): |
|
st.write(prompt) |
|
|
|
|
|
if st.session_state.messages[-1]["role"] != "assistant": |
|
with st.chat_message("assistant"): |
|
with st.spinner("Thinking..."): |
|
response = generate_llama_index_response(prompt) |
|
placeholder = st.empty() |
|
placeholder.markdown(response) |
|
message = {"role": "assistant", "content": response} |
|
st.session_state.messages.append(message) |