용어정리/LLM & RAG

LLM & RAG 용어정리 (LangChain 개념과 활용)

코드 유랑자 승열 2024. 11. 13. 12:16

LangChain의 개념과 그의 활용법에 대해서 알아보자


LangChain이란

LangChain은 Python의 프레임워크로 LLM을 중심으로 하여 다양한 데이터 소스와 도구를

연결을 시키는 체인 기반 어플리케이션을 구축 할 수 있도록 한다.

 

LangChain을 사용하게되면, 하나의 LLM에서만 응답을 받는 대신에,

체인 구조를 통하여 다양한 작업 즉 연산, 데이터처리, 분석 등을 가능하게 한다.

 

검색, 분석, 생성의 자동화를 할 수 있다.

 

 


장점

  1. 유연한 구성
    1. 다양한 컴포넌트들을 쉽게 연결 할 수 있다.
  2. 체인과 에이전트
    1. 체인을 사용하여 여러 과정을 순차적으로 실행하게 한다.
    2. 에이전트로 복잡한 작업을 자동화 한다.
  3. 강력한 통합 기능
    1. 다양한 언어모델과 데이터베이스와의 연결 및 통합이 가능하여 확장과 빠른검색을 가능하게 한다.

 


주요 개념

  1. 프롬프트 템플릿
    1. 프롬프트를 동적으로 생성하는데 사용된다. (유저의 인풋을 받아 생성.
  2. 체인
    1. 여러 단계를 하나로 묶어주는 기능이다.
    2. 질문 > 검색 > 분석 > 응답 의 체인으로 구성 될 수 있다.
  3. 에이전트
    1. 유저의 인풋에 따라 어떤 작업을 해야할지 결정하는 컴포넌트이다.
    2. 유저의 질문에 답변하기 위한 데이터의 api를 호출하려 정보를 제공하도록 한다.

 


활용

  1. RAG
    1. 검색을 통해 최신 정보에 기반한 답변을 생성 할 수 있다.
  2. FAQ
    1. 다양한 질문에 대한 답변을 벡터 데이터베이스에 저장한다.
    2. 유사성 검색을 통해 빠르게 답변을 제공한다.
    3. 챗봇과 같은 비슷한 유형의 질문에 답하기에 좋다.
  3. 챗봇 워크플로우
    1. 복잡한 질문에 여러 단계를 거쳐서 답변을 생성해내는 챗봇을 설계할 수 있다.
  4. 에이전트
    1. 에이전트를 이용하여 유저의 질문에 따른 최신의 정보를 제공하는 에이전트를 구현 할 수 있다.