AI 이것만은 알고가자 4편 : LLM을 똑똑하게 RAG 과 접목하기! – Document Loaders

안녕하세요 오늘은 BESPIN GLOBAL AX실 양재현님이 작성해주신 ‘AI 이것만은 알고가자 4편 : LLM을 똑똑하게 RAG 과 접목하기! – Document Loaders’ 대해 소개해드리도록 하겠습니다.

목차

  1. RAG 기술이란?
  2. RAG의 주요 구성요소 – Document Loader

1. RAG 기술이란?

LLM 모델을 사용하게 되면 나의 개인적인 회사 문서나 private 한 데이터들도 같이 조회 하고 chatgpt에 융화하고 싶어집니다.

chatgpt 3.5 를 써도 나의 예전 일기장을 검색하고 싶거나 , 내 예전 학점에 대해서 조회하는 chatgpt 를 만들려고 해도 나의 관련된 데이터가 chatgpt 3.5 모델에 학습이 되어 있지 않기 때문에 이러한 질문을 해도 chatgpt는 답변을 해줄 수가 없습니다.

개발자는 어떻게 하면 이것을 LLM 모델에 융화시켜서 개발할수 있을지 생각하다가 RAG 라는 기술을 생각하게 됩니다.

RAG란 ( Retrieval-Augmented Generation) 에 약자이며 랭체인의 기술중에 Retrieval 기능중 하나로, 쉽게 말해서 외부 데이터를 참조하여 LLM이 답변할수 있도록 도와주는 프레임워크입니다.

오늘은 LangChain Retriveval의 한 부분인 RAG 구성요소 중 Document Loader 에 대해서 학습하고자 합니다. 우선 LangChain Retriveval은 RAG의 대부분의 구성요소를 포함합니다. 때문에 구성요소 하나하나가 RAG 품질을 좌우합니다.

아래는 RAG의 주요 구성요소입니다.

  • Document Loader
  • Text Splitters
  • Text Embedding modles
  • Vector Stores
  • Retrivever 

2. RAG의 주요 구성요소 – Document Loader

RAG의 주요 구성요소 중 하나인 Document Loader 를 알아 보겠습니다.

Document Loader는 말그대로 다양한 형태의 문서를 RAG에서 사용할수 있게 전용 객체로 불러들이는 컨버터라고 생각하시면 됩니다.

랭체인에서 사용할수 있는 Document Loader가 많지만 대표적인 3개만 오늘은 알아보도록 하겠습니다. 

2-1. 텍스트 파일 로더 (Text Loader)

  • 설명: 일반적인 .txt 파일을 로드하여 텍스트 데이터를 처리합니다.
  • python 코드 샘플
from langchain.document_loaders import TextLoader
loader = TextLoader('path/to/your/file.txt')
documents = loader.load()

2-2. PDF 로더 (PDF Loader)

  • 설명: PDF 문서에서 텍스트를 추출하여 로드합니다. 다양한 페이지와 형식을 가진 PDF 문서를 효과적으로 처리할 수 있습니다.
  • python 코드 샘플
from langchain.document_loaders import PyPDFLoader
loader = PyPDFLoader('path/to/your/file.pdf')
documents = loader.load()

2-3. 웹 페이지 로더 (Web Page Loader)

  • 설명: 웹 페이지의 HTML 콘텐츠를 로드하여 텍스트를 추출합니다. 크롤링이나 스크래핑을 통해 최신 정보를 수집할 때 유용합니다.
  • python 코드 샘플
from langchain.document_loaders import WebBaseLoader
loader = WebBaseLoader('https://www.example.com')
documents = loader.load()

이처럼 로더를 사용하면 RAG 시스템에서 다양한 형식의 데이터를 손쉽게 통합하여 더 풍부한 정보를 제공할 수 있습니다.

위 내용을 다시 한번 정리하면 데이터를 가져오고 이해하는 핵심적인 구성요소 입니다. 이처럼 document_loaders 사용하게 되면 대형 언어모델 (LLM) 과 결합하여 더 강력한 성능을 낼 수 있습니다.

여기까지 ‘AI 이것만은 알고가자 4편 : LLM을 똑똑하게 RAG 과 접목하기! – Document Loaders’에 대해 소개해드렸습니다. 다음 시간에는 Text Splitters 에 대해서 알아보겠습니다. 유익한 정보가 되셨길 바랍니다. 감사합니다. 

Written by 양 재현/AX실

BESPIN GLOBAL