import gradio as gr import PyPDF2 import io # PDF 파일에서 텍스트를 추출하는 함수 def extract_text_from_pdf(pdf_file): reader = PyPDF2.PdfFileReader(io.BytesIO(pdf_file.read())) text = "" for page in range(reader.numPages): text += reader.getPage(page).extractText() return text # 추출된 텍스트를 기반으로 질문에 답변하는 함수 def answer_question(extracted_text, question): # 여기에서는 간단하게 텍스트에서 질문과 유사한 부분을 찾아 반환합니다. # 보다 복잡한 로직을 구현할 수도 있습니다. 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.inputs.Textbox(label="PDF 내용"), gr.inputs.Textbox(label="질문")], outputs="text" ) iface.launch()