RAG는 무엇이고, Langchain (랭체인)은 무엇일까?
겨울 방학을 맞았던 지난 몇주간, 나는 AI공부에 빠졌다. 내 분야가 아니지만, 방법론적 관심이 있어 여기저기 강의도 듣고 논문도 읽었다. 끊임없이 쏟아져나오는 툴과 패키지에, 지금 배운 지식이 고대 지식이 되는 것은 찰나이지만, 조금씩 조금씩 축적해간다는 즐거움이 있다.
우선 첫 포스팅으로는, 개념적인 포스팅을 해보고자 한다.
RAG란 무엇일까?
위키피디아는 이렇게 답한다. AI 모델에 + 정보 검색 기능을 부여하는 기술이다.
즉, LLM과의 작용을 활용해서, 정보데이터를 읽고 참조하여 답변을 해낸다는 것이다.
그렇다면, RAG과 함께 빈번하게 등장하는 랭체인이란 무엇일까?
랭체인은, LLM 이 어플리케이션에 통합되는 것을 쉽게 만들어주는 일종의 "소프트웨어 프레임 워크"다.
가령, 문서를 분석하거나 요약하고 싶거나, 챗봇을 만들고 싶은 경우, 랭체인을 활용할 수 있다.
즉, 요약하면 -
RAG는 일종의 "테크닉"이고,
Langchian은 이를 구현시켜주는 "프레임 워크"란 것이다.
RAG에는 이를 구성하는 명확한 구조와 단계가 있는데, Langchain은 (이를 사용하지 않았을때에 비해) 훨씬 용이하게 이를 구현시켜준다.
실제로, 랭체인 웹사이트에서는 굉장히 상세한 RAG하는 법에 대한 튜토리얼을 제공한다.
RAG에 관심있는 분이라면 아래 웹사이트에 들어가서 튜토리얼을 꼼꼼하게 읽어보실 것을 권한다.
(대부분의 RAG강의도 이 튜토리얼에 기반하여 이뤄지기에, 이 튜토리얼을 절반만 이해해도 큰 성취라고 해드리고싶다!)
Build a Retrieval Augmented Generation (RAG) App: Part 1 | 🦜️🔗 LangChain
One of the most powerful applications enabled by LLMs is sophisticated question-answering (Q&A) chatbots. These are applications that can answer questions about specific source information. These applications use a technique known as Retrieval Augmented Ge
python.langchain.com