DOCS/journey/troubleshooting/251122_happybell80_chromadb_dimension_mismatch.md

1.6 KiB

ChromaDB 차원 불일치로 RAG 검색 실패

  • 날짜: 2025-11-22
  • 작성자: happybell80
  • 관련 서비스: skill-rag-file (8508), skill-embedding (8515), rb8001
  • 관련 문서: 370_임베딩_서비스_분리_아키텍처.md, 2025_ko_sroberta_runtime_eval.md

상황

  • skill-embedding이 ko-sroberta(multitask) 768차원으로 교체된 상태에서 기존 ChromaDB 컬렉션이 384차원 설정으로 남아 있음.
  • 실제 파일 테스트(scripts/test_ir_extraction_real_file.py dc1da3f6-... 7944...) 결과 IR 지표가 모두 N/A.
  • skill-rag-file 로그에 Collection expecting embedding with dimension of 384, got 768가 반복 기록.

원인

  1. 이전 MiniLM(384d)로 생성된 컬렉션에 새 임베딩(768d)을 조회/삽입하면서 차원 불일치 발생.
  2. 업로드 직후 호출 타이밍 이슈가 보조적으로 있을 수 있으나, 차원 불일치 때문에 검색 결과가 0건으로 고정.

조치/계획

  • 재인덱싱 필요: skill_rag_file_79441171-3951-4870-beb8-916d07fe8be5_documents 등 기존 컬렉션을 768차원으로 재생성 후 해당 document_id를 재인덱싱.
  • 재인덱싱 전 임시 우회 없음. 기존 384d 컬렉션 유지 시 검색 0건 → IR N/A.
  • 재인덱싱 후 scripts/test_ir_extraction_real_file.py <document_id> <team_id>로 검증 예정.

교훈

  • 임베딩 모델 교체 시 기존 벡터 DB 차원과 일관성 확인 필수(배포 전 마이그레이션/dual-write 계획).
  • RAG 결과 0건이 지속되면 ChromaDB 차원/메타데이터부터 점검하고, 로그에 dimension mismatch가 없는지 확인.