GPTSTTS / app.py
seawolf2357's picture
Update app.py
a362e5f verified
raw
history blame
934 Bytes
import gradio as gr
import PyPDF2
import io
# PDF ํŒŒ์ผ์—์„œ ํ…์ŠคํŠธ๋ฅผ ์ถ”์ถœํ•˜๋Š” ํ•จ์ˆ˜
def extract_text_from_pdf(pdf_file):
reader = PyPDF2.PdfFileReader(io.BytesIO(pdf_file))
text = ""
for page in range(reader.numPages):
text += reader.getPage(page).extractText()
return text
# ์ถ”์ถœ๋œ ํ…์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์งˆ๋ฌธ์— ๋‹ต๋ณ€ํ•˜๋Š” ํ•จ์ˆ˜
def answer_question(pdf_file, question):
extracted_text = extract_text_from_pdf(pdf_file)
if question in extracted_text:
start = extracted_text.find(question)
end = extracted_text.find('.', start) + 1
return extracted_text[start:end]
else:
return "์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค."
# Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜
iface = gr.Interface(
fn=answer_question,
inputs=[gr.File(type="binary"), gr.Textbox(label="์งˆ๋ฌธ")],
outputs=gr.Textbox()
)
# Launch the interface
iface.launch()