Update app.py
Browse files
app.py
CHANGED
@@ -20,9 +20,8 @@ from langchain_core.output_parsers import StrOutputParser
|
|
20 |
from langchain_core.runnables import RunnablePassthrough
|
21 |
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
def create_retriever_from_chroma(data_path, vectorstore_path="docs/chroma/", search_type='mmr', k=7, chunk_size=250, chunk_overlap=20):
|
26 |
model_name = "sentence-transformers/all-mpnet-base-v2"
|
27 |
model_kwargs = {'device': 'cpu'}
|
28 |
encode_kwargs = {'normalize_embeddings': True}
|
@@ -82,19 +81,19 @@ def main():
|
|
82 |
st.session_state["messages"] = [
|
83 |
{"role": "assistant", "content": "Hi, I'm a chatbot who can search the web. How can I help you?"}
|
84 |
]
|
85 |
-
|
86 |
|
87 |
user_question = st.text_input("Ask a question about your documents:")
|
88 |
-
|
|
|
89 |
|
90 |
if user_question:
|
91 |
handle_userinput(user_question)
|
92 |
|
93 |
|
94 |
-
def handle_userinput(user_question):
|
95 |
st.session_state.messages.append({"role": "user", "content": user_question})
|
96 |
st.chat_message("user").write(user_question)
|
97 |
-
retriever = create_retriever_from_chroma(data_path, vectorstore_path="docs/chroma/", search_type='mmr', k=7, chunk_size=250, chunk_overlap=20)
|
98 |
docs = retriever.invoke(user_question)
|
99 |
|
100 |
doc_txt = [doc.page_content for doc in docs]
|
|
|
20 |
from langchain_core.runnables import RunnablePassthrough
|
21 |
|
22 |
|
23 |
+
def create_retriever_from_chroma(vectorstore_path="docs/chroma/", search_type='mmr', k=7, chunk_size=250, chunk_overlap=20):
|
24 |
+
data_path = "data"
|
|
|
25 |
model_name = "sentence-transformers/all-mpnet-base-v2"
|
26 |
model_kwargs = {'device': 'cpu'}
|
27 |
encode_kwargs = {'normalize_embeddings': True}
|
|
|
81 |
st.session_state["messages"] = [
|
82 |
{"role": "assistant", "content": "Hi, I'm a chatbot who can search the web. How can I help you?"}
|
83 |
]
|
84 |
+
|
85 |
|
86 |
user_question = st.text_input("Ask a question about your documents:")
|
87 |
+
|
88 |
+
retriever = create_retriever_from_chroma(data_path, vectorstore_path="docs/chroma/", search_type='mmr', k=7, chunk_size=250, chunk_overlap=20)
|
89 |
|
90 |
if user_question:
|
91 |
handle_userinput(user_question)
|
92 |
|
93 |
|
94 |
+
def handle_userinput(user_question,retriever):
|
95 |
st.session_state.messages.append({"role": "user", "content": user_question})
|
96 |
st.chat_message("user").write(user_question)
|
|
|
97 |
docs = retriever.invoke(user_question)
|
98 |
|
99 |
doc_txt = [doc.page_content for doc in docs]
|