QnA Chatbot 서비스
문제를 정의하고 해결해보자~
고객특화 데이터에 대한 대응
주기적 업데이트에 대한 대응
거짓이 없어야 한다 (No hallucination)
1
문제점1
고객특화 데이터에 대한 대응 - 파인 튜닝으로 대응가능
주기적 업데이트에 대한 대응 - RAG 로 대응가능
해결책1
종합
잦은 업데이트 주기로 인해 파인 튜닝보다 RAG가 적합하다고 판단.
RAG = 데이터 베이스 확보 필요.
2
고객특화 데이터에 대한 대응
LLM에 학습 과정에서 활용 되지 않았던 정보에 대해서도 대답해야 한다.
3
이슈는?
어떻게하면 한번도 보지 못한 정보에 대해서도 LLM이 답을 할수 있을까?
해결은 컨텍스트로 할수 있다.
질문에 대한 답변 정보를 컨텍스트형태로 LLM에게 제공함으로써 학습을 하지 않은 정보에 대해서도
답변을 하도록 한다.
4
질문에 대한 컨텍스트를 어떻게 선택할수 있나?
질문과 다큐멘트간의 임베딩 벡터 유사도를 통해 질문과 연관성이 높은 다큐멘트를 선택할수 있다.
이 방법을 RAG라고 한다.
5
문제점2
거짓이 없어야 한다 (No hallucination)
해결책2
Hybrid-Fusion - 시맨틱 서비와 Lexical search를 동시에 활용. 부족한 부분을 보완= 검색 향상
RAG Fusion - 유저로 받은 입력 받은 쿼리를 다양한 형태로 변경하여 시맨틱 서치로 변경. 질의 과정의 다양화로 성능 향상.
HyDE - 질의에 대한 가상 답변으로 기반으로 시맨틱 서치 진행, 질의와 답변 사이의 시맨틱 갭을 줄임으로써 성능 향상.
Parent Document - 검색은 청크 사이즈가 짧은 차일드를 대상으로 함으로써 시맨틱서치 성능을 올리고, 결과느 매핑되는 페어런츠를 리턴 함으로써 정보 손실을 줄이는 방법.
Reranker - 리턴된 Documents들에 대해 쿼리와의 관련성을 다시한번 측정하여 컨텍스트에 들어갈 Documents으 rank를 바꿔 주는 기법.
https://brunch.co.kr/@topasvga/3685
감사합니다.