반응형

📝LangChain

LLM을 활용한 애플리케이션을 쉽게 개발할 수 있도록 도와주는 프레임워크로 RAG를 구현하는 데 아주 유용한 도구입니다.

 

📝RAG (Retrieval-Augmented Generation)

RAG는 정보 검색 기반 생성 모델을 의미하며 아래 두 가지 프로세스를 결합한 구조입니다.

  1. Retrieval(정보 검색)
    • 외부 데이터베이스나 문서에서 필요한 정보를 검색
    • OpenAI GPT 같은 LLM이 기존에 학습하지 않은 최신 데이터나 특정 도메인 데이터를 활용할 수 있도록 함
  2. Generation(생성)
    • 검색된 정보를 기반으로 자연어 답변을 생성

 

RAG 작동 원리

  1. 질문 입력 사용자가 질문을 입력
  2. 정보 검색 검색 엔진이나 벡터 데이터베이스를 사용해 관련 정보를 검색
  3. 생성 단계 검색된 정보를 언어 모델에 전달하여 적합한 답변 생성

 

RAG의 장점

  • 최신 정보나 사전 학습 데이터에 없는 데이터에 접근 가능
  • 모델의 응답 정확도를 높이고 불필요한 "환각(hallucination)"을 줄임.

 

📝자연어

자연어(natural language)란 우리가 일상 생활에서 사용하는 언어를 말합니다. 자연어 처리(natural language processing)란 이러한 자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일을 말합니다.

 

📝텐서플로우(Tensorflow)

텐서플로우는 구글이 2015년에 공개한 머신 러닝 오픈소스 라이브러리입니다. 머신 러닝과 딥러닝을 직관적이고 손쉽게 할 수 있도록 설계되었습니다.

 

📝케라스(Keras)

케라스(Keras)는 딥러닝 프레임워크인 텐서플로우에 대한 추상화 된 API를 제공합니다. 쉽게 말해, 텐서플로우 코드를 훨씬 간단하게 작성할 수 있습니다.

 

📝젠심(Gensim)

젠심(Gensim)은 머신 러닝을 사용하여 토픽 모델링과 자연어 처리 등을 수행할 수 있게 해주는 오픈 소스 라이브러리입니다.

 

📝사이킷런(Scikit-learn)

사이킷런(Scikit-learn)은 파이썬 머신러닝 라이브러리입니다. 사이킷런을 통해 나이브 베이즈 분류, 서포트 벡터 머신 등 다양한 머신 러닝 모듈을 불러올 수 있습니다. 또한, 사이킷런에는 머신러닝을 연습하기 위한 아이리스 데이터, 당뇨병 데이터 등 자체 데이터 또한 제공하고 있습니다.

 

📝NLTK

엔엘티케이(NLTK)는 자연어 처리를 위한 파이썬 패키지입니다.

 

📝KoNLPy

코엔엘파이(KoNLPy)는 한국어 자연어 처리를 위한 형태소 분석기 패키지입니다.

 

📝JPype

JAVA와 Python을 연결해주는 역할을 합니다.

반응형