Skip to content

ChatGPT를 활용한 효과적인 PDF 요약 생성기: 자세한 가이드

Updated on

인공 지능은 언어 처리를 비롯한 다양한 분야에서 빠르게 발전하고 있습니다. 그러한 응용 사례 중 하나는 ChatGPT를 사용하여 PDF 파일을 요약하는 것입니다. 'PDF GPT'는 이 기술을 활용한 흥미로운 프로젝트입니다. 그렇다면 ChatGPT를 강력한 PDF 요약 생성기로 만드는 것은 무엇인가요? 이 기능은 무엇을 제공할까요? 이 글에서는 이러한 과정을 자세하게 설명합니다.

과제 및 현재 솔루션 확인하기

PDF 형식을 비롯한 대량의 텍스트 데이터를 처리하는 것은 두 가지 큰 장애물을 가지고 있습니다. 첫째, OpenAI와 같은 플랫폼은 4K 토큰 제한을 갖고 있어, 전체 PDF 파일을 입력으로 받을 수 없다는 것입니다. 둘째, 기계 학습이 사용하는 임베딩이 부적합할 경우, 종종 쿼리와 관련없는 응답을 반환할 수 있습니다.

현재 이러한 문제를 해결하는 솔루션으로는 ChatPDF (opens in a new tab), BeSpacific (opens in a new tab), FileChat (opens in a new tab)와 같은 서비스가 있습니다. 그러나 이러한 서비스는 종종 적합한 내용의 유지에 대한 어려움과 '환각' 문제(정확성이나 관련성이 떨어지는 콘텐츠를 생성)에 직면합니다. 이를 해결하기 위해 Universal Sentence Encoder 알고리즘 가족을 활용한 임베딩 개선이 제안됩니다.

PDF GPT의 복잡성 탐구하기

PDF GPT는 GPT의 기능을 활용하여 업로드한 PDF 파일과 상호작용할 수 있도록 하는 혁신적인 솔루션을 제공합니다. 그것은 강력한 Deep Averaging Network Encoder를 사용하여 문서를 작은 청크로 나누어 임베딩을 생성함으로써, 거대한 텍스트와 4K 토큰 제한 문제를 능숙하게 처리합니다.

이 응용 프로그램은 먼저 PDF 콘텐츠에서 의미론적 검색을 수행하고, 가장 관련성 높은 임베딩을 OpenAI에 입력으로 제공합니다. PDF GPT는 정확한 응답을 생성하기 위해 사용자 지정 로직을 활용합니다. 이 도구의 특징 중 하나는 정보가 위치한 페이지 번호를 인용하여 응답을 더욱 신뢰성 있게 만들고 필수 정보를 빠르게 찾을 수 있도록 하는 것입니다.

예를 들어, 보험 증서를 포함한 PDF에서 “방 임대료 상한선은 얼마인가요?”라는 질문을 고려해 봅시다. AI는 다음과 같이 대답할 수 있습니다: "Arogya Sanjeevani Policy [1 페이지]에서 정한 최대 INR 5,000 일일 방당 임대료가 적용됩니다."

PDF GPT는 또한 langchain-serve를 통해 제공되는 Production 기능을 제공합니다. Production API를 활성화하면 데모 (opens in a new tab)를 사용할 수 있으며, Hugging Face (opens in a new tab)에서 소스 코드를 공개적으로 사용할 수 있습니다.

로컬 플레이그라운드 및 클라우드 배포 알아보기

PDF GPT에는 langchain-serve를 사용하여 활성화할 수 있는 로컬 플레이그라운드가 있습니다. 이 로컬 플레이그라운드는 다음 명령을 실행하여 시작할 수 있습니다:

lc-serve deploy local api

다른 터미널에서 다음을 실행할 수 있습니다:

python app.py

이렇게 하면 로컬 그라디오 플레이그라운드가 시작됩니다. 웹 브라우저에서 http://localhost:7860을 열고 응용 프로그램과 상호작용할 수 있습니다.

Jina Cloud에 응용 프로그램을 배포하기 위해 프로덕션 준비를 완료하고 다음 명령을 사용하여 배포할 수 있습니다:

lc-serve deploy jcloud api

GitHub의 원본 README에서 제공된 예를 수정하여 엔드포인트의 URL을 수정함으로써 cURL을 통한 상호 작용도 가능합니다.

Docker 활용 및 로컬 호스트에서 실행하기

프로젝트는 Docker Compose 명령을 제공하며 Docker Compose와 함께 사용할 수 있습니다. 예를 들어, Docker Compose를 사용하여 응용 프로그램을 실행하려면 다음 명령을 실행하면 됩니다:

docker-compose -f docker-compose.yaml up
```이미지는 다음 명령어를 실행하여 가져올  있습니다:
 
```bash
docker pull registry.hf.space/bhaskartripathi-pdfchatter:latest

로컬 사용을 위해서는 Universal Sentence Encoder를 프로젝트의 루트 폴더에 다운로드해야 합니다. 애플리케이션을 실행할 때마다 런타임에서 915MB 크기의 인코더를 다운로드하는 것을 피하는 것이 중요합니다.

로컬에서 다운로드한 경우, API 파일의 "load" 라인:

self.use = hub.load('https://tfhub.dev/google/universal-sentence-encoder/4')

을 다음과 같이 바꿉니다:

self.use = hub.load('./Universal Sentence Encoder/')

PDF-GPT를 실행하려면 다음 명령어를 입력하세요:

docker run -it -p 7860:7860 --platform=linux/amd64 registry.hf.space/bhaskartripathi-pdfchatter:latest python app.py

PDF GPT에 대한 기여 확장

이 프로젝트의 창시자는 오픈 소스 커뮤니티에서 기고자를 초대합니다. 버퍼 항목을 자원봉사적으로 채택하고 어플리케이션을 공동으로 유지할 것을 염두에 두었습니다.

결론

PDF GPT를 통해 특히 PDF 요약기로서, ChatGPT는 AI 기반 문서 처리에서 큰 도약을 나타냅니다. 임베딩을 향상시켜 간결한 응답을 생성하고 대용량 PDF를 효율적으로 처리함으로써, PDF GPT는 문서 요약의 지능적이고 효율적인 미래를 대변하고 있습니다.