도메인 문서에 대한 RAG 시스템의 정확도 향상을 위해 간단하게 진행했던 실험들 기록
Code
RAG 방법론의 효과를 검증하기 위해 RAGAS 프레임워크와 AI API ( gpt 5.2 )를 사용한 정답/오답 채점을 사용했습니다.
이를 위해 다음과 같은 데이터 컬럼을 준비합니다.
| Question | Ground Truth | Answer | Retrieved Contexts |
Question, Ground Truth 컬럼 문항 제작에는 NotebookLM을 활용했는데 단락 출처 기능을 통해 Context에 근거하여 올바른 Answer가 도출되었는지 타당성을 검증하기 용이하기 때문입니다.
도메인 pdf 문서는 대략 500 page 정도이며 QA 데이터셋은 105문항 준비하였습니다.
NotebookLM에서 사용된 프롬프트는 다음과 같음.
프롬프트
당신은 Retrieval-Augmented Generation(RAG) 시스템 평가를 위한 QA 데이터셋을 제작하는 전문가입니다.
아래에 주어지는 문서를 기반으로, RAGAS 평가에 사용 가능한 고품질 질문–답변(QA) 쌍을 생성하세요.
모든 질문과 답변은 반드시 문서 내용에만 근거해야 합니다.
아래 규칙을 반드시 모두 지키세요.
[규칙]
1. 모든 질문과 답변은 반드시 한국어로 작성하세요.
2. 각 질문은 문서의 정보 없이는 답할 수 없어야 합니다.
3. 각 질문은 단 하나의 명확하고 모호하지 않은 정답을 가져야 합니다.
4. 의견형, 추론형, 주관식, 열린 질문은 생성하지 마세요.
5. 일반 상식이나 외부 지식이 없어도 문서만으로 답할 수 있어야 합니다.
6. 정의, 조건, 수치, 명시적인 사실에 대한 질문을 우선적으로 생성하세요.
7. 답변은 한 문장 이내의 간결한 사실 진술이어야 합니다.
8. 문서에 정보가 충분하지 않다면 질문 수를 줄이세요.
9. 해당 문서 조각이 검색되지 않으면 실패하는 질문이어야 합니다.
[출력 형식 – 매우 중요]
- 엑셀에 붙여넣기 하기 편하도록 표로 만들 어주세요.
- 표에는 Question, Answer, Context로만 구성되어야합니다.
- 표는 | 질문 | 정답 | Context| 형태를 따라야 합니다.
- Context는 근거가 되는 문장을 변형없이 그대로 적어주세요.
사용 모델들
LLM: Gemma3 12b
Embedding Model: ko-bert-sts
Reranker: bge-reranker-v2-m3
Vector DB: ChromaDB
Chunking 전략 : RecursiveCharacterTextSplitter (size 500, overlap 50)


RAGAS 평균 점수:
정답 개수: 67 / 105
정확도(Accuracy): 63.81%
Chunking 전략 : : Hierarchical Chunking (Parent-Child)
Exp(1)에서 잘못된 문맥 단락을 가져오는 오답케이스가 많아 이를 개선하기위해 작은 단락이 포함된 큰 단락을 context로 제공하는 Hierarchical Chunking을 도입했습니다.


시간 관계상 Baseline에서 틀린 문항 38개에 대해서만 재평가를 진행했습니다.
RAGAS 평균 점수:
틀린 38문항 중 9문항 (23.68%)
최종 누적 정확도: 72.38% (76/105)
구체적인 수치가 누락되거나 틀리는 오답을 처리하기 위해 Graph RAG 도입을 시도했습니다. 하지만 IE(Information Extration) Model 도입, Graph DB 구축 등 리소스 문제로 인해 보류 후 Exp(4)로 진행했습니다.
구체적인 수치나 전문용어가 context 검색에서 누락되는 문제를 해결하기위해 단어의 정확한 매칭 빈도를 고려하는 TF-IDF계열 알고리즘 BM25을 도입한 하이브리드 검색을 구현했습니다.

RAGAS 평균 점수:
틀린 29문항 중 13문항 정답 (44.83%)
최종 누적 정확도: 84.76% (89/105)
의견 : 가져오는 Context 부분에서 크게 개선됨.
정확도 84.76% 달성 후, 여전히 틀린 문제들을 4가지 유형으로 분류하여 분석했습니다.
유형 1. 리트리버 실패 (완전 오답 - 8건):
유형 2. 일부 누락 (애매한 오답 - 3건):
유형 3. 질문 자체의 오류 (2건):
유형 4. 오답 처리되었으나 실제론 정답인 경우 (3건):
부적절한 질문(유형 3)을 모수에서 제외하고, 유형 4를 정답으로 인정하면 89.32% (92/103).
여기에 일부 누락(유형 2)까지 정답으로 관대하게 인정할 경우 최종 정확도는 92.23% (95/103) 입니다.
Hierarchical Chunking 및 Hybrid Search 전략만으로도 성능이 크게 개선되는 것을 확인할 수 있었음.

취업 공고를 보면 Late-interaction도 사용되는 것 같음
Late-interaction, GraphDB 도입을 통한 추가 실험 제안
3 Proven Strategies to Boost RAG Accuracy Beyond the Baseline