1. 노트북LM vs 개인용 RAG 앱 성능 비교
| 비교 항목 | 노트북LM (NotebookLM) | 현재 제작하신 RAG 앱 (ChromaDB + Gemini) |
|---|---|---|
| 장점 | 구글이 튜닝한 긴 컨텍스트(Long Context) 처리 능력, 소스 인용의 정확성. | 데이터 보안(로컬 DB 사용), 무제한 파일 관리, 커스텀 UI/워크플로우 가능. |
| 텍스트 추출 | 구글 자체 OCR 및 레이아웃 분석기 사용 (최상급). | PyPDF2 등 라이브러리에 의존 (표, 각주 추출에 취약할 수 있음). |
| 유연성 | 폐쇄형 시스템 (제공되는 기능만 사용 가능). | 확장성 무한 (검색 알고리즘, 청크 전략 변경 가능). |
결론: 단순 문서 요약과 대화는 노트북LM이 현재로서는 더 매끄러울 수 있습니다. 하지만 신학 학술 연구처럼 방대한 자료를 자신만의 분류 체계(OT, NT, Theology 등)로 관리하고, 특정 출처를 고정하여 반복 조회할 때는 사용자 정의 RAG 앱이 훨씬 강력한 도구가 됩니다.
2. PDF 텍스트 추출 성능을 높이는 방법
현재 사용 중인 PyPDF2는 가볍지만, 학술 논문의 복잡한 레이아웃(2단 구성, 각주, 수식)을 읽는 데 한계가 있습니다. 성능을 높이려면 다음 라이브러리로 교체를 검토해 보세요.
- PyMuPDF (fitz): 속도가 매우 빠르고 텍스트 레이아웃 보존 능력이 뛰어납니다. (가장 추천)
- pdfplumber: 표(Table) 추출이 포함된 논문을 읽을 때 매우 정확합니다.
- Docling (IBM) 또는 Marker: 최근 AI 기반 추출 도구로, 논문의 구조(제목, 본문, 각주 구분)를 완벽하게 파악해 마크다운으로 변환해 줍니다.
3. 신학 학술 논문용 RAG 최적 설정값 (추천)
신학 논문은 문장이 길고, 논리적 연결이 치밀하며, 성경 구절이나 라틴어/희랍어 인용이 많습니다. 이를 고려한 최적값입니다.
① Chunk Size (청크 크기): 800 ~ 1000 tokens
- 이유: 신학 논문의 한 문단은 일반 글보다 깁니다. 너무 작게(300
500) 나누면 논리적 맥락이 잘려 Gemini가 엉뚱한 답변을 할 수 있습니다. 한 문단 전체와 전후 맥락을 충분히 담을 수 있는 8001000자가 적당합니다.
② Chunk Overlap (겹침 크기): 100 ~ 200 tokens
- 이유: 청크와 청크 사이의 연결 고리를 유지하기 위함입니다. 논문은 앞 문장의 전제가 뒷 문장으로 이어지므로 약 15~20% 정도의 오버랩을 두는 것이 검색 품질을 높입니다.
③ K 값 (가져올 문서 개수): 5 ~ 8
- 이유: 신학적인 질문은 한 곳의 구절만 보고 판단하기 어렵습니다. 여러 논문의 관점을 종합해야 하므로, Gemini에게 전달할 참고 자료(K)를 5개 이상 넉넉히 주는 것이 좋습니다. Gemini 2.0 Pro나 Flash는 컨텍스트 창이 넓어 8개 정도의 청크는 충분히 소화합니다.
🛠️ 앱 적용을 위한 팁
현재 코드의 IndexWorker에서 chunk_size를 1000으로 설정하고, run_rag_and_get_response 함수 내의 n_results(K값)를 5~8로 조정해 보세요.
요약 가이드:
- 청크: 1000 / 오버랩: 150 / K: 5 (안정적 설정)
- 청크: 800 / 오버랩: 100 / K: 8 (세밀한 참조 설정)
이 설정으로 테스트해 보시고, 답변의 깊이가 어떻게 달라지는지 확인해 보시기 바랍니다! 특히 PyMuPDF로 라이브러리를 바꾸는 것만으로도 텍스트 품질이 눈에 띄게 좋아질 것입니다.
'성경 프로그램 > AI tools' 카테고리의 다른 글
| [종합 가이드] 5인 협업 기반 신학 연구 RAG 지능형 워크벤치 구축 매뉴얼 (0) | 2025.12.25 |
|---|---|
| 📖 v14.4 워크벤치 사용 설명서 (협업 및 논문용) (0) | 2025.12.24 |
| 윈도우 11 환경에서 geminirag3.py 코드 실행하기 (0) | 2025.12.22 |
| 마태복음과 에베소서의 하늘에 대한 인식 - geminirag로 질의/응답 (0) | 2025.12.17 |
| geminirag.py (0) | 2025.12.15 |