[목차 상세]
04장 문서와 논문을 요약하는 AI 연구원
_04-1 PDF 문서 전처리하기
__[Do it! 실습] PDF 파일을 텍스트 파일로 변환하기
__[Do it! 실습] PDF 파일 전처리 하기
_04-2 논문을 요약해 주는 AI 연구원 완성하기
__[Do it! 실습] 텍스트 요약 프롬프트 만들기
__[Do it! 실습] PDF 내용 요약하여 출력하기
문서와 논문 요약 AI 연구원을 만들어보겠습니다. 실제로 대학원에 가면 최신 논문 요약하고 발표하는 경우는 많습니다. 그럴 때 연구원이 활용하기는 좋은 도구입니다.
PDF 문서 전처리하기
PyMuPDF 패키지를 사용해서, PDF 파일에서 텍스트를 추출합니다. 여기서 깔끔하게 각종 정보를 제거하는 PDF 파일 텍스트 전처리를 수행해보겠습니다.
PyMuPDF 설치하기
pip install PyMuPDF
카멜케이스가 확실히 쉽지 않죠. 그래서 복사를 하라는 것으로 보입니다.
근데, pymupdf로 해도 잘 설치가 되네요?!

여러 분은 저처럼 PyMuPDF로 힘들게 치지 않아도 된다고 말씀드리고 싶습니다.
이제 PDF 파일을 준비했습니다. 원하는 파일을 써도 된다고 해서 요즘 활용하고 있는 네이버클라우드 가이드를 PDF로 내보내었습니다. 활용해보겠습니다.
참고로, 출처는 다음과 같습니다. https://guide.ncloud-docs.com/docs/ko/security-security-15-1
이 파일을 doit/data 경로에 넣었습니다.
제공한 코드를 바탕으로, 각 페이지별로 내용을 읽어보겠습니다.
Certificate Manager 시작: Certificate Manager 사용을 위한 시작 방법 안내
이용 신청 및 해지: Certificate Manager 사용을 위한 이용 신청 및 해지 방법 안내
Certicate Manager 개요
Page: 3 of 5
Certificate Manager 사용: Certificate Manager 사용 방법 안내
Certificate List: 인증서 발급, 등록 및 관리 방법 안내
대부분 잘 읽어들이지만, 헤더와 푸터, 페이지 번호가 포함되면서 문제가 됩니다. GPT 등에 넘길 때에는 제거하는 전처리를 해줍니다.
이제 헤더, 푸터 등을 제거하고 오직 본문만 읽어들이는 코드를 적용합니다.
Certificate Manager 시작: Certificate Manager 사용을 위한 시작 방법 안내
이용 신청 및 해지: Certificate Manager 사용을 위한 이용 신청 및 해지 방법 안내
Certicate Manager 개요
------------------------------------
Certificate Manager 사용: Certificate Manager 사용 방법 안내
Certificate List: 인증서 발급, 등록 및 관리 방법 안내
페이지 번호가 싹 지워졌습니다.
아주 깔끔하죠? 중간에 fi가 잘못 표기되는게 있네요. 이후 함수를 더 수정해서 사용해서 제거해주면 됩니다.
일단은 이런 함수 만으로도, 페이지 번호 등을 제거하고 본문만 프롬프트로 넘길 수 있으니, 고급 모델을 쓰지 않아도 됩니다.
논문 요약해주는 AI 연구원 완성하기
텍스트 요약 프롬프트 만들기 실습을 했습니다. 즉, 앞서 변환한 텍스트 파일로 요약해주는 작업을 수행했습니다.
페르소나를 잘 설정해주는게 중요하고, 템플릿(포맷)도 잘 설정하는 코드를 넣게 됩니다.
# 요약 프롬프트 생성
system_prompt = f'''
너는 다음 글을 요약하는 봇이다. 아래 글을 읽고, 저자의 문제 인식과 주장을 파악하고, 주요 내용을 요약하라.
작성해야 하는 포맷은 다음과 같다.
# 제목
## 저자의 문제 인식 및 주장 (15문장 이내)
## 저자 소개
=============== 이하 텍스트 ===============
{ txt }
'''
print(system_prompt)
print('=========================================')
이대로 적용을 해보겠습니다. 전체 코드는, 아래 저자분의 코드를 참고해주세요.
https://github.com/saintdragon2/gpt_agent_2025_easyspub
GitHub - saintdragon2/gpt_agent_2025_easyspub
Contribute to saintdragon2/gpt_agent_2025_easyspub development by creating an account on GitHub.
github.com
적용해보면, 다음과 같습니다.
아래와 같이 잘 요약해줍니다.
# Certificate Manager 사용자 가이드 요약
## 저자의 문제 인식 및 주장 (15문장 이내)
Certificate Manager는 네이버 클라우드 플랫폼에서 제공하는 서비스로, SSL/TLS 인증서를 발급, 등록, 관리할 수 있는 기능을 제공합니다. 이 서비스는 Load Balancer, CDN+ 등과 같은 연계 서비스에서 인증서를 활용할 수 있도록 지원합니다. 주요 기능으로는 인증서 등록 및 발급, 서비스 연동, 인증서 정보 제공, 만료 알림 등이 있습니다. 사용자는 한국, 미국, 싱가포르, 일본, 독일 리전에서 동일한 서비스를 이용할 수 있습니다. 가이드는 Certificate Manager의 개요, 사용 준비, 시나리오, 시작 방법, 이용 신청 및 해지 방법 등을 포함합니다. 또한, 인증서 발급 및 관리 방법, 통보 대상 설정, 권한 관리, 주요 용어 해설 등을 제공합니다. 네이버 클라우드 플랫폼은 Certificate Manager에 대한 이해를 돕기 위해 다양한 연관 리소스를 제공하며, API 가이드, 블로그 소개, 요금 체계, 최신 소식 등을 포함합니다. 자주 하는 질문 섹션을 통해 사용자는 빠르게 궁금증을 해결할 수 있으며, 추가적인 문의는 직접 할 수 있습니다. 이 가이드는 사용자들이 Certificate Manager를 효과적으로 활용할 수 있도록 돕는 것을 목표로 합니다.
## 저자 소개
이 가이드는 네이버 클라우드 플랫폼에서 제공하는 공식 문서로, Certificate Manager의 사용법과 관련된 정보를 제공합니다. 네이버 클라우드 플랫폼은 다양한 클라우드 서비스를 제공하는 기업으로, 사용자들이 클라우드 환경에서 효율적으로 작업할 수 있도록 다양한 지원을 하고 있습니다.
여기서, summary.py 파일을 쓰려면, PDF에서 글자를 추출한 텍스트 파일을 입력으로 넣어줘야합니다. 이제 PDF 자체를 입력으로 넣게하려면, 약간의 수정을 해주면 됩니다. 맨 처음에 사용한 PDF에서 글자를 추출하는 함수를 만들어 추가합니다.
def pdf_to_text(pdf_file_path: str):
pdf_file_path = "data/원하는파일.pdf"
doc = pymupdf.open(pdf_file_path)
header_height = 80
footer_height = 80
full_text = ''
#...
with open(txt_file_path, 'w', encoding='utf-8') as f:
f.write(full_text)
return txt_file_path
def summarize_pdf(pdf_file_path: str, output_file_path: str):
txt_file_path = pdf_to_text(pdf_file_path)
summary = summarize_txt(txt_file_path)
with open(output_file_path, 'w', encoding='utf-8') as f:
f.write(summary)
이러면, 이제 PDF 파일명을 넣어주면, 알아서 요약까지 해서 텍스트 파일로 만들어주는 연구원을 만들 수 있습니다.

'Challenge > Inflearn' 카테고리의 다른 글
[클로드 코드] 챌린지 2주차 - 프롬프트 작성 (0) | 2025.10.01 |
---|---|
[클로드코드] 챌린지 기록 2주차 1일 - CLAUDE.md (0) | 2025.09.29 |
[Do It LLM] 챌린지 기록 1주차: 스트림릿 챗봇 (0) | 2025.09.28 |
[Do It LLM] 챌린지 기록 1주차: 오픈AI API 챗봇(2) (0) | 2025.09.26 |
[클로드코드] 챌린지 기록 1주차 5일 - 고양이 웹페이지 (0) | 2025.09.26 |