File size: 934 Bytes
2d71bf6
 
 
0669fa1
2d71bf6
 
b30eb63
2d71bf6
 
 
 
30fd9a1
2d71bf6
b30eb63
 
2d71bf6
 
 
 
 
 
0669fa1
2d71bf6
0669fa1
2d71bf6
a362e5f
b30eb63
0669fa1
 
b30eb63
 
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
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()