산업경영공학과 2024-1 졸업작품
-
�자연어 기반 검색 시스템이라는 주제를 고려하면 파인튜닝을 통한 범용 챗봇보다는 RAG를 통한 해당 분야에 특출난 지식을 가진 챗봇이 더 어울린다고 판단
-
파인튜닝은 gpt나 gemini 등의 LLM에 사용 시 상당한 비용이 필요하지만 RAG의 경우 gpt의 답변 기능만 사용하기 때문에 적은 비용이 발생
-
실제 기업에서도 QnA용 챗봇을 만들 때 RAG를 사용한 경우가 많음
-
Skelter Labs의 사내 업무 도우미 챗봇
-
KBPay 앱 QnA챗봇
Skelter Labs Blog - 금융업 LLM 활용 사례 :: KB국민카드
복잡한 규정이 많은 금융업에서도 RAG를 활용한 챗봇을 사용하는 것을 보고 결정하게 됨
-
미리 데이터를 벡터DB에 저장을 해둔 뒤 유저가 질문하면 임베딩 모델이 관련된 문서의 관련된 문단이나 문장을 발췌하여 LLM모델에게 질문과 같이 입력하여 답변을 얻어낸다.
- 문서 로드(URL, PDF, TXT …. )
- 문서 청크로 나누기
- Embedding
- Vector DB
- 유저 질문
- 전처리 단계에서 만든 Retriever 검색을 통해 원하는 부분 발췌
- PROMPT를 통해 원하는 답변을 얻기 위한 처리
- LLM 답변 생성
- 웹페이지 = WebBaseLoader
- pdf = PyPDF
- RecursiveCharacterTextSplitter
- HuggingFace OpenSouce(bespin-global/klue-sroberta-base-continue-learning-by-mnr)
- FAISS
- 웹 사이트(Streamlit)
- EnsemberRetriever(Faiss(의미적 유사성 기반) + bm25(키워드 기반))
- langchain hub(RAG)
- OpenAI(gpt-3.5-turbo)