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="file"), gr.Textbox(label="질문")], outputs=gr.Textbox() ) # Launch the interface iface.launch()