From cdbbc0e8a5464d2551662ab9fb97d86d2be71b78 Mon Sep 17 00:00:00 2001 From: Pierre-Edouard Portier Date: Wed, 3 Jan 2024 16:25:44 +0100 Subject: [PATCH] streamlit app --- app.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 app.py diff --git a/app.py b/app.py new file mode 100644 index 0000000..197b9f1 --- /dev/null +++ b/app.py @@ -0,0 +1,36 @@ +import streamlit as st +from rag import RAG + +llm_model_path = '/Users/peportier/llm/a/a/zephyr-7b-beta.Q5_K_M.gguf' +embed_model_name = 'intfloat/multilingual-e5-large' +collection_name = 'cera' +chromadb_path = './chromadb' + +rag = RAG(llm_model_path, embed_model_name, collection_name, chromadb_path) + +st.title("CERA Chat") + +if st.sidebar.button("Nouvelle conversation"): + st.session_state.messages = [] + rag.reset_history() + +if "messages" not in st.session_state: + st.session_state.messages = [] + +for message in st.session_state.messages: + with st.chat_message(message["role"]): + st.markdown(message["content"]) + +if prompt := st.chat_input("Comment puis-je vous aider ?"): + st.session_state.messages.append({"role": "user", "content": prompt}) + with st.chat_message("user"): + st.markdown(prompt) + + with st.chat_message("assistant"): + message_placeholder = st.empty() + full_response = "" + for response in rag.chat(prompt): + full_response += response + message_placeholder.markdown(full_response + "▌") + message_placeholder.markdown(full_response) + st.session_state.messages.append({"role": "assistant", "content": full_response}) \ No newline at end of file