KnowledgeBase / main_pdf.py
vinodmahajanvkaps's picture
second commit
3a6f4d7
Raw
History Blame Contribute Delete
1.46 kB
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()