보험RAG (1) : 보험약관 지식 베이스 RAG 구현하기
특정 보험사의 보험 상품들에 대한 고객들의 질문을 받아주고, 답변해주는 LLM을 구현해보고자 한다.
우선 miniconda로 가상 환경을 만들고 필요한 패키지들을 맞춰준다.
그럼 이제 외부 지식 소스를 어떤 포맷으로 만들고,
어떻게 관리하면 좋을까?
간단하게 비교해 보았다.
외부 지식 포맷별 비교
| 형식 | 장점 | 단점 | 추천 사용 상황 |
|---|---|---|---|
| TXT (.txt) | 단순, 가볍고 전처리 쉬움 | 구조가 없어 의미 단위 구분 어려움 | 기본 테스트용, 로그/단문 자료 |
| Markdown (.md) | 제목·리스트 구조로 의미 분리 쉬움 | 일부 특수문법 처리 필요 | 기술문서, 블로그, 노트 정리 |
| PDF (.pdf) | 실제 문서 원본 그대로, 표/이미지 포함 | 파싱 복잡, 구조 깨지기 쉬움 | 보고서, 논문, 정책자료 |
| DOCX (.docx) | 포맷 유지, 문단 단위 정보 확보 가능 | 라이브러리 필요, 속도 느림 | 내부 업무문서, 기획서 |
| HTML / 웹페이지 | 메타정보 풍부, 링크로 연결 쉬움 | 광고·불필요한 태그 많음 | 웹 문서 크롤링, 뉴스기사 |
| DB 테이블(SQL) | 구조화된 데이터 쿼리 용이 | 임베딩하려면 텍스트화 필요 | 질의응답(QA)형 데이터, 로그 데이터 |
| CSV / JSON | 프로그램적 접근 쉬움 | 맥락정보가 약함 | 표형 데이터, 메타데이터 |
| Vector DB (FAISS, Chroma, Weaviate 등) | 검색속도 빠름, 문서 유사도 기반 탐색 | 전처리(임베딩) 필요 | RAG의 최종 저장소 역할 |
[RAG] Document Loader 비교글 RAG 시스템을 위한 문서 전처리 가이드
위의 비교표와 링크들을 기반으로 markdown형태로 문서를 생성하기로 결정했다.
최신 LLM은 마크다운으로 학습한 데이터가 많다는 점과,
마크다운은 테이블, 헤딩 등의 본질적인 구조를 보존하고 표현하는데 용이하기 때문에 선택하였다.

=> 그런데 이런식으로 필요한 본문 내용인데 팝업창처럼(특정 페이지로 넘어가는게 아니라) 뜨는 정보들은 위의 방법으로도 긁어와지지 않는다.