LlamaIndex로 구현한 RAG, 성능평가는 어떻게할까?
수많은 RAG 모듈들의 조합으로 수많은 RAG 파이프라인이 생성될 수 있고 각 작업 도메인과 데이터 셋에 따라 최적의 RAG 파이프라인은 모두 다르다. (RAG 파이프라인의 수를 간단하게 계산해보자.) 심지어 prompt를 바꾸거나, LLM을 바꾸거나, 임베딩을 바꿀 때마다 기존 성능보다 더 좋아졌는지 나빠졌는지는 알 수 없다. 우리가 개발을 할 때도 테스트 코드를 짜듯이 RAG 파이프라인을 구성할 때도 테스트는 꼭 필요하다. 아니 오히려 LLM의 블랙박스적인 특징을 고려해 테스트의 중요성은 더 중요하다. 일반적으로 개발할 때 TDD라는 개발 방법론이 있는 것처럼 RAG를 개발할 때도 Evaluation Driven Development(EDD)라는 방법론을 도입하여 개발할 수 있다....