Dhruv1102 commited on
Commit
f01317e
·
verified ·
1 Parent(s): d99bc57

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +43 -0
  2. requirements.txt +7 -0
app.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import streamlit as st
3
+ from PyPDF2 import PdfReader
4
+ from langchain.text_splitter import CharacterTextSplitter
5
+ from langchain.embeddings.openai import OpenAIEmbeddings
6
+ from langchain.vectorstores import FAISS
7
+ from langchain.chains.question_answering import load_qa_chain
8
+ from langchain.llms import OpenAI
9
+
10
+ # Set your OpenAI API key here
11
+ os.environ["OPENAI_API_KEY"] = "sk-proj-Mb6oBgg51EUsImee2TMdT3BlbkFJjyQuPaCGgFNzYwt1c52m"
12
+
13
+ st.title("PDF Question Answering")
14
+
15
+ uploaded_file = st.file_uploader("Choose a PDF file", type="pdf")
16
+
17
+ if uploaded_file is not None:
18
+ pdf_reader = PdfReader(uploaded_file)
19
+
20
+ raw_text = ''
21
+ for i, page in enumerate(pdf_reader.pages):
22
+ text = page.extract_text()
23
+ if text:
24
+ raw_text += text
25
+
26
+ text_splitter = CharacterTextSplitter(
27
+ separator="\n",
28
+ chunk_size=600,
29
+ chunk_overlap=200,
30
+ length_function=len
31
+ )
32
+
33
+ texts = text_splitter.split_text(raw_text)
34
+ embeddings = OpenAIEmbeddings()
35
+ document_search = FAISS.from_texts(texts, embeddings)
36
+
37
+ query = st.text_input("Enter your question:")
38
+
39
+ if st.button("Get Answer"):
40
+ docs = document_search.similarity_search(query)
41
+ chain = load_qa_chain(OpenAI(), chain_type="stuff")
42
+ answer = chain.run(input_documents=docs, question=query)
43
+ st.write("Answer:", answer)
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ openai
2
+ langchain
3
+ streamlit
4
+ PyPDF2
5
+ faiss-cpu
6
+ tiktoken
7
+ langchain-community