DataWizard9742 commited on
Commit
4b1d9d3
·
verified ·
1 Parent(s): abe6038

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -24
app.py CHANGED
@@ -1,6 +1,5 @@
1
  import streamlit as st
2
  from dotenv import load_dotenv
3
- import pickle
4
  from PyPDF2 import PdfReader
5
  from langchain.text_splitter import RecursiveCharacterTextSplitter
6
  from langchain.embeddings.openai import OpenAIEmbeddings
@@ -8,24 +7,19 @@ from langchain.vectorstores import FAISS
8
  from langchain.llms import OpenAI
9
  from langchain.chains.question_answering import load_qa_chain
10
  from langchain.callbacks import get_openai_callback
11
- import os
12
-
13
- # Sidebar contents
14
- with st.sidebar:
15
- st.title('LLM Chat App')
16
- st.write('Made at FULL STACK ACADEMY')
17
 
18
  load_dotenv()
19
 
20
-
21
  def main():
22
- st.header("Chat with PDF 💬")
 
23
  pdf = st.file_uploader("Upload your PDF", type='pdf')
24
  if pdf is not None:
25
  pdf_reader = PdfReader(pdf)
26
  text = ""
27
  for page in pdf_reader.pages:
28
  text += page.extract_text()
 
29
  text_splitter = RecursiveCharacterTextSplitter(
30
  chunk_size=1000,
31
  chunk_overlap=200,
@@ -33,21 +27,9 @@ def main():
33
  )
34
  chunks = text_splitter.split_text(text=text)
35
 
36
- # # embeddings
37
- store_name = pdf.name[:-4]
38
- st.write(f'{store_name}')
39
-
40
- if os.path.exists(f"{store_name}.pkl"):
41
- with open(f"{store_name}.pkl", "rb") as f:
42
- VectorStore = pickle.load(f)
43
- else:
44
- embeddings = OpenAIEmbeddings()
45
- VectorStore = FAISS.from_texts(chunks, embedding=embeddings)
46
- with open(f"{store_name}.pkl", "wb") as f:
47
- pickle.dump(VectorStore, f)
48
-
49
  query = st.text_input("Ask questions about your PDF file:")
50
-
51
  if query:
52
  docs = VectorStore.similarity_search(query=query, k=3)
53
  llm = OpenAI()
@@ -57,6 +39,5 @@ def main():
57
  print(cb)
58
  st.write(response)
59
 
60
-
61
  if __name__ == '__main__':
62
  main()
 
1
  import streamlit as st
2
  from dotenv import load_dotenv
 
3
  from PyPDF2 import PdfReader
4
  from langchain.text_splitter import RecursiveCharacterTextSplitter
5
  from langchain.embeddings.openai import OpenAIEmbeddings
 
7
  from langchain.llms import OpenAI
8
  from langchain.chains.question_answering import load_qa_chain
9
  from langchain.callbacks import get_openai_callback
 
 
 
 
 
 
10
 
11
  load_dotenv()
12
 
 
13
  def main():
14
+ st.title("Chat with PDF 💬")
15
+ st.header("Made at Full Stack Academy")
16
  pdf = st.file_uploader("Upload your PDF", type='pdf')
17
  if pdf is not None:
18
  pdf_reader = PdfReader(pdf)
19
  text = ""
20
  for page in pdf_reader.pages:
21
  text += page.extract_text()
22
+
23
  text_splitter = RecursiveCharacterTextSplitter(
24
  chunk_size=1000,
25
  chunk_overlap=200,
 
27
  )
28
  chunks = text_splitter.split_text(text=text)
29
 
30
+ embeddings = OpenAIEmbeddings()
31
+ VectorStore = FAISS.from_texts(chunks, embedding=embeddings)
 
 
 
 
 
 
 
 
 
 
 
32
  query = st.text_input("Ask questions about your PDF file:")
 
33
  if query:
34
  docs = VectorStore.similarity_search(query=query, k=3)
35
  llm = OpenAI()
 
39
  print(cb)
40
  st.write(response)
41
 
 
42
  if __name__ == '__main__':
43
  main()