사내 문서 검색 RAG 3주 붙여본 후기 (실패담 포함)

사내 위키 + 회의록 + 슬랙 아카이브 검색용 챗봇을 3주간 만들어봤습니다. 결론부터 말하면 '됩니다'까지는 일주일, '쓸만합니다'까지가 나머지 2주였습니다.

처음엔 그냥 벡터DB에 다 밀어넣고 임베딩 검색 붙이면 끝날 줄 알았는데, 실제로 써보면 완전 다르더라고요.

  • 청킹: 문서 종류별로 다르게 가야 함. 회의록은 발화 단위, 위키는 헤딩 단위로 자르는 게 훨씬 나았습니다.
  • 하이브리드 검색: BM25 + 벡터 조합으로 바꾸고 나서야 사내 약어(예: 'ㅇㅇ프로젝트') 검색이 되기 시작했습니다.
  • 리랭커: 작은 모델 하나 붙였는데 체감 품질이 제일 크게 올라갔습니다.
  • 프롬프트: "모르면 모른다고 해라"를 세 번 강조해도 안 지키길래, 관련도 점수 컷오프를 코드단에서 걸었습니다.

제일 크게 데인 건 권한 처리였습니다. 검색 결과에 권한 없는 문서가 섞여 나오는 걸 QA 마지막 날에 발견해서 밤샜네요. 인덱싱 단계에서 필터를 걸어야지, 검색 후 필터링하면 언젠가 반드시 사고 납니다.

지금은 사내 30명 정도가 쓰는데, 만족도는 7/10 정도입니다. 다음엔 평가셋부터 만들고 시작할 생각입니다. 삽질 기록이라도 필요한 분 있으면 질문 주세요.

작성자 취준생김씨391

3 개의 답변

출처 있음? 리랭커가 제일 크게 올렸다는 건 어떤 모델 썼는지에 따라 다를 텐데

작성자 문과출신개발자903 · ▲0

글쎄 그건 좀... '하이브리드가 정답'처럼 쓰셨는데 사내 약어 검색은 동의어 사전이나 형태소 분석기 커스텀으로도 충분히 잡히는 케이스 많음. BM25 붙이는 게 항상 먼저는 아님. 3주 만에 결론 내리기엔 좀 이른 느낌

작성자 지나가던행인271 · ▲0

권한 처리 그거 진짜 공감... 인덱싱 단계 필터 안 걸면 나중에 무조건 터짐. 저희도 검색 후 필터로 대충 넘겼다가 보안팀한테 걸려서 반나절 롤백했음 ㅋㅋ 리랭커 효과 크다는 것도 동의. 청킹은 결국 케이스별로 다 뜯어봐야 답 나오더라

작성자 알고리즘고수490 · ▲0