-
RAG from scratch - RoutingDEV 2024. 11. 29. 22:13
Query Translation
2024.11.27 - [DEV] - RAG 고급 기법 - Query Translation
Routing
라우팅은 사용자의 질문을 분석하여 가장 적합한 정보 처리 경로로 안내하는 중요한 역할을 수행.
여러 도메인 또는 작업을 처리하는 RAG 애플리케이션에서 쿼리 유형에 따라 적절한 처리 경로를 선택.
효율적인 라우팅은 RAG 시스템의 정확성과 효율성을 크게 향상시킬 수 있습니다
Custom Function (사용자 정의 함수)
특정 키워드를 기반으로 질문을 분류하고 해당하는 체인으로 라우팅하는 방식. 예를 들어 질문에 "수학"이라는 단어가 포함되면 수학 과목 체인으로 라우팅.
장점: 구현이 간단하고 직관적.
단점: 키워드 기반 분류는 질문의 복잡성을 충분히 반영하지 못할 수 있음. 예를 들어 "물리학의 역사"와 같은 질문은 "역사" 키워드 때문에 잘못 라우팅될 수 있음.
적합한 상황: 질문의 주제가 명확하게 드러나는 키워드를 포함하고 있고, 질문의 복잡성이 낮은 경우 효율적.Machine Learning Classifier (머신 러닝 분류기)
다양한 주제의 질문들을 학습 데이터로 사용하여 질문 분류 모델을 훈련시키고, 이 모델을 사용하여 질문을 분류하고 라우팅.
장점: 키워드 기반 분류보다 정확도가 높고, 질문의 복잡성을 더 잘 반영할 수 있음.
단점: 훈련 데이터 구축 및 모델 훈련에 시간과 자원이 필요.
적합한 상황: 질문의 주제가 다양하고 복잡하며, 충분한 훈련 데이터를 확보할 수 있는 경우 효과적.Semantic Similarity (의미 유사도)
각 체인에 대한 임베딩(의미를 담은 수치 표현)을 생성하고, 질문의 임베딩과 각 체인의 임베딩 간의 유사도를 비교하여 가장 유사한 체인으로 라우팅.
장점: 키워드 기반 분류나 머신 러닝 분류기보다 질문의 의미를 더 정확하게 파악하여 라우팅
단점: 임베딩 생성 및 유사도 비교에 계산 비용이 발생
적합한 상황: 질문의 의미 분석이 중요하고, 계산 비용을 감당할 수 있는 경우 효과적Hybrid Approach (혼합 방식)
위에서 언급된 세 가지 기법을 조합하여 라우팅 성능을 향상시키는 방식.
장점: 각 기법의 장점을 활용하여 더욱 정확하고 효율적인 라우팅을 가능.
단점: 구현 복잡도가 높아질 수 있음.
적합한 상황: 다양한 라우팅 기법을 조합하여 성능을 최적화해야 하는 복잡한 시스템에 적합.
라우팅 기법 선택은 질문의 특성, 시스템의 복잡도, 자원 제약 등을 고려하여 결정해야 함.간단한 질문에는 Custom Function, 복잡한 질문에는 Machine Learning Classifier
또는 Semantic Similarity, 최적의 성능을 위해서는 Hybrid Approach를 고려할 수 있음.
728x90'DEV' 카테고리의 다른 글
RAG 고급 기법 - Query Translation (0) 2024.11.27 Anthropic's Contextual Retrieval (0) 2024.11.26 새로운 RAG system Golden-Retriever (2) 2024.11.25 LLM으로 프로그래밍 (0) 2024.11.24 Agentic RAG (1) 2024.11.22