File size: 3,999 Bytes
c2c192a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9f220ea
 
 
c2c192a
9f220ea
 
c2c192a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
import streamlit as st
from langchain import OpenAI, PromptTemplate, LLMChain
from langchain.text_splitter import CharacterTextSplitter
from langchain.chains.mapreduce import MapReduceChain
from langchain.prompts import PromptTemplate
from langchain.chat_models import AzureChatOpenAI
from langchain.chains.summarize import load_summarize_chain
from langchain.chains import AnalyzeDocumentChain
from PyPDF2 import PdfReader
from langchain.document_loaders import TextLoader
from langchain.indexes import VectorstoreIndexCreator
from langchain.document_loaders import PyPDFLoader



import os


os.environ["OPENAI_API_TYPE"] = "azure"
os.environ["OPENAI_API_VERSION"] = "2023-03-15-preview"

 

llm = AzureChatOpenAI(
    deployment_name="esujnand", model_name="gpt-35-turbo"
)



st.title("Wipro CSRD AI 1")

# description text
st.write("Step 1: Summary of your selected section of CSRD... Sections in this are enviormental  topic1, enviornamtal topic2 ")
st.write("Step 2: Ask your specfici questions regarding a CSRD disclosure requirments")


# pdf file upload
pdf_file = st.file_uploader("Upload file", type=["pdf"])

numberofpages = 100

if st.button("How many pages? "):
    reader = PdfReader(pdf_file)
    numberofpages = len(reader.pages)
    st.write("length is ", numberofpages)

if st.button("table of contents? "):
  reader = PdfReader(pdf_file)
  page = reader.pages[2].extract_text()
  st.write(page)




startpage = st.slider('Which section to look at', 0, numberofpages, 1)
st.write("starting section page", startpage)


pagecount = st.slider('How many pages', 1, 5, 1)
st.write("pages to read", pagecount)


def extract_text_from_pdf():
    reader = PdfReader(pdf_file)
    # get all pages text
    text = [reader.pages[i].extract_text() for i in range(startpage, startpage + pagecount )]
    # join all pages text
    text = " ".join(text)
    return text


def extract_text_from_pdf2():
    reader = PdfReader(pdf_file)
    # get all pages text
    text = [reader.pages[i].extract_text() for i in range(len(reader.pages))]
    # join all pages text
    text = " ".join(text)
    return text

if st.button("Summerize "):
    with st.spinner("Extracting Text..."):
        summary_chain = load_summarize_chain(llm, chain_type="map_reduce")
        summarize_document_chain = AnalyzeDocumentChain(combine_docs_chain=summary_chain, verbose=True)
        text = extract_text_from_pdf()
    with st.spinner("Summarizing..."):
        result = summarize_document_chain.run(text)
    st.write(result)




yourquestion = st.text_input('Your topic', 'netzero')
st.write('Your input is ', yourquestion)



if st.button("Ask Questions "):
    template = """
    You are an AI assistant. 
    {concept}
    """

    prompt = PromptTemplate(
        input_variables=["concept"],
        template=template,
    )


    from langchain.chains import LLMChain
    chain = LLMChain(llm=llm, prompt=prompt)

    # Run the chain only specifying the input variable.
    st.write(chain.run(yourquestion))


if st.button("Ask English "):
    template = """
    You are an expert on topics of Sustainability, Climate action and UN Sustainable Development Goals. 
    Explain the concept of {concept}  like i am a five 
    """

    prompt = PromptTemplate(
        input_variables=["concept"],
        template=template,
    )


    from langchain.chains import LLMChain
    chain = LLMChain(llm=llm, prompt=prompt)

    # Run the chain only specifying the input variable.
    st.write(chain.run(yourquestion))



if st.button("Ask Hindi "):
    template = """
    You are an expert on topics of Sustainability, Climate action and UN Sustainable Development Goals. 
    Explain the concept of {concept} in Hindi
    """

    prompt = PromptTemplate(
        input_variables=["concept"],
        template=template,
    )


    from langchain.chains import LLMChain
    chain = LLMChain(llm=llm, prompt=prompt)

    # Run the chain only specifying the input variable.
    st.write(chain.run(yourquestion))