File size: 1,464 Bytes
3a6f4d7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from langchain.document_loaders import PyPDFLoader
from langchain.llms import OpenAI
from dotenv import load_dotenv
import os
import streamlit as st
from langchain.vectorstores import FAISS
from langchain.embeddings.openai import OpenAIEmbeddings
import getpass

def main():
    load_dotenv()

    # Load the OpenAI API key from the environment variable
    if os.getenv("OPENAI_API_KEY") is None or os.getenv("OPENAI_API_KEY") == "":
        print("OPENAI_API_KEY is not set")
        exit(1)
    else:
        print("OPENAI_API_KEY is set")

    st.set_page_config(page_title="Ask your PDF")
    st.header("Ask your PDF 📈")

   
    
    pdf_file = st.file_uploader("Upload a pdf file", type="pdf")
    loader = PyPDFLoader(pdf_file)
    pages = loader.load_and_split()
    #print(pages);
    if pdf_file is not None:       

        faiss_index = FAISS.from_documents(pages, OpenAIEmbeddings())
        docs = faiss_index.similarity_search("How will the community be engaged?", k=2)
    for doc in docs:
       print(str(doc.metadata["page"]) + ":", doc.page_content[:300])



        #agent = create_csv_agent(
        #    OpenAI(temperature=0), pdf_file, verbose=True)

        user_question = st.text_input("Ask a question about your PDF: ")

        if user_question is not None and user_question != "":
            with st.spinner(text="In progress..."):
                st.write(faiss_index.run(user_question))


if __name__ == "__main__":
    main()