라이브러리 없이 처음부터 만든 RAG 시스템, 구조를 낱낱이 공개

한 개발자가 이나 같은 기존 도구를 쓰지 않고 파이프라인을 밑바닥부터 직접 구현했다. 검색 정확도를 높이기 위해 FAISS(벡터 검색)와 BM25(키워드 검색)를 함께 쓰는 하이브리드 검색을 적용했고, 두 검색 결과를 합치는 방법으로 RRF()를 사용했다. 이후 교차 인코더(Cross Encoder)로 결과를 한 번 더 정밀하게 재정렬()했다.

PDF 문서는 의미 단위로 잘라내는 시맨틱 청킹으로 처리했고, 질문 분석과 다이어그램(Mermaid) 검색 기능도 넣었다. 문맥과 프롬프트를 조립하는 부분은 모듈식으로 설계했고, 최종 답변 생성에는 Groq를 사용했다. 이 과정을 통해 정보 검색과 시스템 설계, 그리고 LLM을 호출하기 전 단계의 품질이 결과에 얼마나 큰 영향을 주는지 배웠다고 밝혔다.

평가 벤치마크, , 벡터 압축(PQ) 등은 아직 개선할 부분으로 남아 있다.

핵심 포인트

  • FAISS(벡터 검색)와 BM25(키워드 검색)를 결합한 하이브리드 검색 구현
  • RRF로 두 검색 결과를 합치고, 교차 인코더로 재정렬해 정확도 향상
  • PDF 문서를 의미 단위로 나누는 시맨틱 청킹 적용
  • 답변 생성은 Groq 사용, 문맥·프롬프트 조립은 모듈식 설계
  • 평가 벤치마크와 등은 향후 개선 과제로 남음
원문 보기