LLM & RAG 용어정리 (RAG, Vector DB, LangChain)

2024. 11. 8. 19:19·용어정리/LLM & RAG

LLM 시스템 형성을 위한 다양한 기법 및 요소

RAG, Vector DB, LangChain에 대해서 알아보자


RAG 

RAG는 Retrieval-Augmented Generation의 약자이다.

단어 그대로인 검색 기반 생성 기법을 뜻한다.

 

LLM의 한계인 많은 데이터를 학습했음에도 불구하고, 최신의 정보와 특정 전문적인 지식(도메인 지식)에 대하여 한계를 가질수 밖에 없다. 이를 보안하기 위해서 나온것이 RAG이다.

 

이는 LLM에서 답을 직접 생성하는것 대신, 외부의 데이터베이스 또는 문서등에서 관련된 정보를 검색하여

그 검색한 정보들을 토대로 답변을 생성하는 방식이다.

 

 


동작 원리

  1. 질문 입력
    1. 사용자의 인풋을 질문으로 받아서, 질문에 맞는 답변을 위해 검색 단계를 거친다
  2. 문서 검색
    1. 백터 DB 나 기타 저장소 등 에서 질문과 관련된 문서를 검색한다.
    2. 텍스트를 백터화 하여 의미적으로 유사한 문서를 검색한다.
  3. 답변 생성
    1. 검색된 문서를 바탕으로 최종적으로 답변을 생성하게 된다.

 


장점

  1. 최신 정보의 활용
    1. RAG는 검색을 하기 때문에 최신 데이터베이스에서 정보를 가져올 수 있다.
  2. 특정 도메인 정보 제공
    1. 도메인에 특화된 정보 (전문화된 정보) 를 제공 가능하며, 더 정확한 정보를 제공한다.
  3. 효율성
    1. LLM의 미리 학습된 정보만 의존하지 않고, 필요한 데이터를 검색해서 가져오기 때문에 효율적이다.

 


예시

법조문 이나 의학? 과 같은 특수한 분야에서의 질문이 들어오게 되면, LLM만의 학습된 데이터 만으로는

정확한 정보를 전달하기 어려울 수 잇다. 이때, RAG를 사용하여 정확하고 좀더 최신의 정보를 제공할 수 있다.

 

IT같은 분야에서도 새로운 기술들이 계속 개발되기 때문에, RAG를 이용하여 최신의 정보또한 사용 될 수 있다.

 

 


Vector DB

Vector DB란 텍스트나 이미지 등의 데이터를 벡터의 형식으로 변환하여 저장하고,

그 벡터들을 기반으로 데이터를 빠르고 효율적으로 검색할 수 있는 데이터베이스를 의미한다.

 

임베딩 방식으로 벡터화가 되어있어서, 유사한 의미를 가진 데이터를 빠르게 검색하게끔 해준다.

 

 

임베딩의 내용은 아래의 링크를 통해서 좀더 볼 수 있다.

 

https://mark-theater.tistory.com/126

 

Deep-Learning 용어정리 (NLP)

자연어 처리NLP 모델에 대해서 알아보자NLPNLP모델 은 컴퓨터가 인간의 언어를 이해하고 처리 할 수 있도록 하는것이다.즉 언어의 이해, 해석 및 생성등을 포함하는 기술을 포함한다.  워드 임베

mark-theater.tistory.com

 

 


동작 과정

  1. 임베딩의 생성
    1. 문서나 텍스트 데이터를 벡터 형태로 변환을 시킨다.
    2. 텍스트의 의미적 정보를 담고 있다.
  2. 벡터 저장
    1. 생성된 벡터를 데이터베이스에 저장을 한다.
  3. 벡터 검색
    1. 유저의 입력을 질문으로 받아 이 문장을 벡터로 변환을 한다.
    2. 데이터베이스에서 유사한 벡터를 찾아낸다.
  4. 결과 제공
    1. 유사한 벡터를 가진 문서나 데이터를 검색 결과로 제공한다.

 


장점

  1. 의미 기반의 검색
    1. 임베딩으로 데이터를 벡터화 시킬때, 의미적 정보를 담고 있다.
    2. 이를 통하여 유사한 의미를 가진 텍스트도 검색 할 수 있다.
  2. 고성능의 처리
    1. 벡터화를 통하여 효율적으로 데이터를 저장 할 수 있다. (압축)
    2. 이를 통하여 벡터 데이터를 매우 빠르게 처리할 수 있다.
    3. 대규모 텍스트 데이터에 대해서 매우 효율적으로 검색이 가능하다.

 


활용

  1. 문서 검색 시스템
    1. 대규모 문서 저장소에서 특정 주제에 대한 유사한 문서를 빠르게 검색할 수 있다.
  2. 이미지 검색
    1. 이미지를 벡터화 하여서, 유사한 이미지나 관련 이미지를 빠르게 검색 할 수 있다.
  3. 질문 - 답변 시스템
    1. 질문에 대한 관련 정보를 벡터 기반으로 검색을 하여 답변을 제공 할 수 있다.

 

 

LangChain

LLM과 같은 언어 모델을 더욱 효율적으로 활용할 수 있게 해주는 프레임워크를 뜻한다.

LLM과 외부의 리소스를 결합하여 강력한 언어 기반의 어플리케이션을 만들수 있도록 돕는다.

 

RAG 처럼 외부 데이터를 검색해 와서 바로 처리를 하는것이 아닌, LLM이 이 데이터를 처리할 수 있도록 한다.

 

여러개의 LLM을 순차적으로 실행 할 수 있도록 워크 플로우를 제공한다.

 

메모리의 기능을 통해서 대화 흐름을 제어하고 이를 통해서 챗봇이나 대화형 AI를 쉽게 구축 할 수 있다.

 

 


동작 원리

  1. 프롬프트 체인
    1. 여러 단계의 프롬프트를 연속적으로 연결하여 복잡한 작업을 수행 할 수 잇다.
    2. 문서를 요약하고, 그 요약한 내용을 바탕으로 질문에 답을 하는 구조가 될 수 있다.
  2. 메모리 기능
    1. LLM은 일반적으로 이전의 대화를 기억하지 못한다.
    2. LangChain은 메모리의 기능을 가지고 있어 대화의 맥락을 유지하게 한다.
  3. 외부 리소스의 통합
    1. API, 데이터베이스, 웹 검색 등을 통하여 다양한 외부 리소스를 결합할 수 있다.
    2. 이를 통하여 이미 학습된 데이터로만 생성할수 있다는 LLM의 한계를 보완 할 수 있다.

 


장점

  1. 자동화된 텍스트의 처리
    1. 문서 요약, 분석, 번역등을 하나의 체인으로 연결하여서 한번에 처리를 할 수가 있다.
    2. 즉 하나의 질문으로 요약 하여 분석한 정보를 번역해줘 같이 넣는다면 실행 할 수 있다는 의미다.
저작자표시 비영리 변경금지 (새창열림)

'용어정리 > LLM & RAG' 카테고리의 다른 글

LLM & RAG 용어정리 (Act As)  (2) 2024.11.11
LLM & RAG 용어정리 (Shot 프롬프팅 기법)  (1) 2024.11.11
LLM & RAG 용어정리 (프롬프트 엔지니어링 사용)  (0) 2024.11.10
LLM & RAG 용어정리 (프롬프트 엔지니어링)  (1) 2024.11.10
LLM & RAG 용어정리 (LLM)  (0) 2024.11.08
'용어정리/LLM & RAG' 카테고리의 다른 글
  • LLM & RAG 용어정리 (Shot 프롬프팅 기법)
  • LLM & RAG 용어정리 (프롬프트 엔지니어링 사용)
  • LLM & RAG 용어정리 (프롬프트 엔지니어링)
  • LLM & RAG 용어정리 (LLM)
코드 유랑자 승열
코드 유랑자 승열
코드 유랑자 승열의 프로그래밍 일지를 남기는 공간입니다.
  • 코드 유랑자 승열
    승열의 프로그래밍 시네마
    코드 유랑자 승열
  • 전체
    오늘
    어제
  • 링크

    • 깃허브 보러가기
    • 링크드인 보러가기
    • 인스타그램 보러가기
    • 카테고리
      • 코딩테스트
        • BaekJoon
      • TIL and WIL
        • TIL
        • WIL
      • 주말스터디
      • 내일배움캠프
        • 사전캠프 강의 (SQL)
      • 용어정리
        • Python
        • Python-Library
        • Machine-Learning
        • Deep-Learning
        • AI 활용
        • LLM & RAG
        • Docker
        • Django
        • SQL
        • Java Script
        • etc
      • Daily 코드카타
        • SQL
        • Python 알고리즘
      • 임시저장
      • 보류
  • 태그

    오블완
    template
    langchain
    View
    llm
    word2vec
    django
    티스토리챌린지
    RAG
    vector db
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코드 유랑자 승열
LLM & RAG 용어정리 (RAG, Vector DB, LangChain)
상단으로

티스토리툴바