Dhruv1102 commited on
Commit
696ee56
·
verified ·
1 Parent(s): 586251d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -38
app.py CHANGED
@@ -16,6 +16,9 @@ os.environ["OPENAI_API_KEY"] = "sk-proj-Mb6oBgg51EUsImee2TMdT3BlbkFJjyQuPaCGgFNz
16
 
17
  st.title("PDF Question Answering")
18
 
 
 
 
19
  uploaded_file = st.file_uploader("Choose a PDF file", type="pdf")
20
 
21
  if uploaded_file is not None:
@@ -53,24 +56,38 @@ if uploaded_file is not None:
53
  answer = chain.run(input_documents=docs, question=prompt)
54
  st.write("Answer:", answer)
55
 
56
- # Language selection and translation
57
- translation_language = st.selectbox("Select translation language:", ["es", "fr", "de", "hi"]) # Add more languages as needed
58
-
59
- if st.button("Translate Answer"):
60
- translated_answer = GoogleTranslator(source='auto', target=translation_language).translate(answer)
61
- st.write("Translated Answer:", translated_answer)
62
- else:
63
- translated_answer = ""
64
-
65
- if st.button("Generate PDF"):
66
- # Generate PDF
67
- pdf_buffer = BytesIO()
68
- c = canvas.Canvas(pdf_buffer, pagesize=letter)
69
- c.drawString(100, 750, "Question:")
70
- c.drawString(100, 735, query)
71
- c.drawString(100, 715, "Answer:")
72
- text_lines = answer.split('\n')
73
- y = 700
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  for line in text_lines:
75
  if y < 50:
76
  c.showPage()
@@ -78,23 +95,12 @@ if uploaded_file is not None:
78
  c.drawString(100, y, line)
79
  y -= 15
80
 
81
- if translated_answer:
82
- c.drawString(100, y, "Translated Answer:")
83
- y -= 15
84
- text_lines = translated_answer.split('\n')
85
- for line in text_lines:
86
- if y < 50:
87
- c.showPage()
88
- y = 750
89
- c.drawString(100, y, line)
90
- y -= 15
91
-
92
- c.save()
93
-
94
- pdf_buffer.seek(0)
95
- st.download_button(
96
- label="Download Answer as PDF",
97
- data=pdf_buffer,
98
- file_name="answer.pdf",
99
- mime="application/pdf"
100
- )
 
16
 
17
  st.title("PDF Question Answering")
18
 
19
+ if 'translated_answer' not in st.session_state:
20
+ st.session_state.translated_answer = ""
21
+
22
  uploaded_file = st.file_uploader("Choose a PDF file", type="pdf")
23
 
24
  if uploaded_file is not None:
 
56
  answer = chain.run(input_documents=docs, question=prompt)
57
  st.write("Answer:", answer)
58
 
59
+ st.session_state.answer = answer
60
+
61
+ # Language selection and translation
62
+ translation_language = st.selectbox("Select translation language:", ["es", "fr", "de", "hi"]) # Add more languages as needed
63
+
64
+ if st.button("Translate Answer"):
65
+ translated_answer = GoogleTranslator(source='auto', target=translation_language).translate(st.session_state.answer)
66
+ st.session_state.translated_answer = translated_answer
67
+
68
+ if st.session_state.translated_answer:
69
+ st.write("Translated Answer:", st.session_state.translated_answer)
70
+
71
+ if st.button("Generate PDF"):
72
+ # Generate PDF
73
+ pdf_buffer = BytesIO()
74
+ c = canvas.Canvas(pdf_buffer, pagesize=letter)
75
+ c.drawString(100, 750, "Question:")
76
+ c.drawString(100, 735, query)
77
+ c.drawString(100, 715, "Answer:")
78
+ text_lines = st.session_state.answer.split('\n')
79
+ y = 700
80
+ for line in text_lines:
81
+ if y < 50:
82
+ c.showPage()
83
+ y = 750
84
+ c.drawString(100, y, line)
85
+ y -= 15
86
+
87
+ if st.session_state.translated_answer:
88
+ c.drawString(100, y, "Translated Answer:")
89
+ y -= 15
90
+ text_lines = st.session_state.translated_answer.split('\n')
91
  for line in text_lines:
92
  if y < 50:
93
  c.showPage()
 
95
  c.drawString(100, y, line)
96
  y -= 15
97
 
98
+ c.save()
99
+
100
+ pdf_buffer.seek(0)
101
+ st.download_button(
102
+ label="Download Answer as PDF",
103
+ data=pdf_buffer,
104
+ file_name="answer.pdf",
105
+ mime="application/pdf"
106
+ )