Nand1OpenPDF / app.py
Rajagopal's picture
Update app.py
247fbec
raw
history blame
2.74 kB
import os
from langchain.chains import RetrievalQA
from langchain.llms import AzureOpenAI
from langchain.document_loaders import TextLoader
from langchain.document_loaders import PyPDFLoader
from langchain.indexes import VectorstoreIndexCreator
from langchain.text_splitter import CharacterTextSplitter
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.chains.question_answering import load_qa_chain
from langchain.llms import AzureOpenAI
from langchain.chains.question_answering import load_qa_chain
import streamlit as st
from PIL import Image
import time
@st.cache_data
def findanswer(Nand_url, Nand_question):
if True:
if Nand_url:
index = None
loader1 = PyPDFLoader(Nand_url)
langchainembeddings = OpenAIEmbeddings(deployment="textembedding", chunk_size=1)
index = VectorstoreIndexCreator(
# split the documents into chunks
text_splitter=CharacterTextSplitter(chunk_size=1000, chunk_overlap=0),
# select which embeddings we want to use
embedding=langchainembeddings,
# use Chroma as the vectorestore to index and search embeddings
vectorstore_cls=Chroma
).from_loaders([loader1])
# st.write("indexed PDF...AI finding answer....please wait")
if Nand_question:
answer = index.query(llm=llmgpt3, question=yourquestion, chain_type="map_reduce")
return answer
image = Image.open('Wipro logo.png')
st.image(image, width=100)
st.write("Learn best practices in Data Centre Sustainability")
os.environ['OPENAI_API_TYPE'] = 'azure'
os.environ['OPENAI_API_VERSION'] = '2023-03-15-preview'
llmgpt3 = AzureOpenAI( deployment_name="testdavanci", model_name="text-davinci-003" )
#llmchatgpt = AzureOpenAI( deployment_name="esujnand", model_name="gpt-35-turbo" )
samplequestions = ["What is Energy Star 4.0 Standard?", "What is RoHS Directive?", "What is Green IT?", "Benefits of greening IT?", "Holistic Approach to Green IT",
"Using IT: Environmentally Sound Practices", "Designing Green Computers", "Epeat" ]
with st.form("my_form"):
myurl = st.text_input("What is the URL?", "https://sites.pitt.edu/~dtipper/2011/GreenPaper.pdf")
yourquestion = st.selectbox(
'Select', samplequestions )
# Every form must have a submit button.
submitted = st.form_submit_button("Ask question")
if submitted:
#st.write("AI is looking for the answer...It will take atleast 2 mintutes... Answers will appear below....")
Nandanswer = findanswer(myurl, yourquestion )
st.write(Nandanswer)