Sharal commited on
Commit
ac11d7b
·
verified ·
1 Parent(s): ecbab86

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -13
app.py CHANGED
@@ -3,7 +3,7 @@ import os
3
  from langchain_community.vectorstores import FAISS
4
  from langchain_community.document_loaders import PyPDFLoader
5
  from langchain.text_splitter import RecursiveCharacterTextSplitter
6
- from langchain_community.embeddings import HuggingFaceEmbeddings
7
  from langchain_huggingface import HuggingFaceEndpoint # Updated import
8
  from langchain.chains import ConversationalRetrievalChain
9
  from langchain.memory import ConversationBufferMemory
@@ -27,7 +27,7 @@ def load_doc(uploaded_files):
27
  for loader in loaders:
28
  pages.extend(loader.load())
29
 
30
- text_splitter = RecursiveCharacterTextSplitter(chunk_size=1024, chunk_overlap=64)
31
  doc_splits = text_splitter.split_documents(pages)
32
 
33
  for temp_file in temp_files:
@@ -66,7 +66,7 @@ def initialize_llmchain(llm_model, vector_db):
66
  qa_chain = ConversationalRetrievalChain.from_llm(
67
  llm,
68
  retriever=retriever,
69
- chain_type="stuff",
70
  memory=memory,
71
  return_source_documents=True,
72
  verbose=False,
@@ -122,10 +122,10 @@ def conversation(qa_chain, message, history):
122
  response_source3 = response_sources[2].page_content.strip()
123
  response_source3_page = response_sources[2].metadata["page"] + 1
124
  new_history = history + [(message, response_answer)]
125
- return qa_chain, new_history, response_source1, response_source1_page, response_source2, response_source2_page, response_source3, response_source3_page
126
  except Exception as e:
127
  st.error(f"Error in conversation: {e}")
128
- return qa_chain, history, "", 0, "", 0, "", 0
129
 
130
  def main():
131
  st.sidebar.title("PDF Chatbot")
@@ -163,17 +163,19 @@ def main():
163
 
164
  if st.button("Submit"):
165
  with st.spinner("Generating response..."):
166
- qa_chain, history, response_source1, source1_page, response_source2, source2_page, response_source3, source3_page = conversation(st.session_state['qa_chain'], message, history)
167
  st.session_state['qa_chain'] = qa_chain
168
 
169
  st.markdown("### Chatbot Response")
170
- st.text_area("Chatbot Response", value=response_source1, height=100)
171
- st.text_area("Source 1", value=response_source1, height=100)
172
- st.text(f"Page: {source1_page}")
173
- st.text_area("Source 2", value=response_source2, height=100)
174
- st.text(f"Page: {source2_page}")
175
- st.text_area("Source 3", value=response_source3, height=100)
176
- st.text(f"Page: {source3_page}")
 
 
177
 
178
  if __name__ == "__main__":
179
  main()
 
3
  from langchain_community.vectorstores import FAISS
4
  from langchain_community.document_loaders import PyPDFLoader
5
  from langchain.text_splitter import RecursiveCharacterTextSplitter
6
+ from langchain_community.embeddings import HuggingFaceEmbeddings
7
  from langchain_huggingface import HuggingFaceEndpoint # Updated import
8
  from langchain.chains import ConversationalRetrievalChain
9
  from langchain.memory import ConversationBufferMemory
 
27
  for loader in loaders:
28
  pages.extend(loader.load())
29
 
30
+ text_splitter = RecursiveCharacterTextSplitter(chunk_size=1024, chunk_overlap=64)
31
  doc_splits = text_splitter.split_documents(pages)
32
 
33
  for temp_file in temp_files:
 
66
  qa_chain = ConversationalRetrievalChain.from_llm(
67
  llm,
68
  retriever=retriever,
69
+ chain_type="stuff",
70
  memory=memory,
71
  return_source_documents=True,
72
  verbose=False,
 
122
  response_source3 = response_sources[2].page_content.strip()
123
  response_source3_page = response_sources[2].metadata["page"] + 1
124
  new_history = history + [(message, response_answer)]
125
+ return qa_chain, new_history, response_answer, response_source1, response_source1_page, response_source2, response_source2_page, response_source3, response_source3_page
126
  except Exception as e:
127
  st.error(f"Error in conversation: {e}")
128
+ return qa_chain, history, "", "", 0, "", 0, "", 0
129
 
130
  def main():
131
  st.sidebar.title("PDF Chatbot")
 
163
 
164
  if st.button("Submit"):
165
  with st.spinner("Generating response..."):
166
+ qa_chain, history, response_answer, response_source1, source1_page, response_source2, source2_page, response_source3, source3_page = conversation(st.session_state['qa_chain'], message, history)
167
  st.session_state['qa_chain'] = qa_chain
168
 
169
  st.markdown("### Chatbot Response")
170
+ st.write(response_answer)
171
+
172
+ with st.expander("Relevant context from the source document"):
173
+ st.text_area("Source 1", value=response_source1, height=100)
174
+ st.text(f"Page: {source1_page}")
175
+ st.text_area("Source 2", value=response_source2, height=100)
176
+ st.text(f"Page: {source2_page}")
177
+ st.text_area("Source 3", value=response_source3, height=100)
178
+ st.text(f"Page: {source3_page}")
179
 
180
  if __name__ == "__main__":
181
  main()