랭체인(LangChain)이란?

델리만쥬 디퓨저·2024년 3월 26일
2

LangChain은 대규모 언어 모델(LLM)을 기반으로 애플리케이션을 구축하기 위한 오픈 소스 프레임워크

LLM은 대량의 데이터로 사전 훈련된 대규모 딥 러닝 모델. 질문에 답하거나 텍스트 기반 프롬프트에서 이미지를 생성하는 등 사용자 쿼리에 대한 응답을 생성

LangChain은 모델이 생성하는 정보와 맞춤화, 정확성 및 관련성을 개선하기 위한 도구와 추상화 기능 제공. 개발자는 LangChain 구성 요소를 사용하여 새 프롬프트 체인을 구축하거나 기존 템플릿을 맞춤화 가능

LangChain이 중요한 이유

  • LLM은 일반적인 상황에서 프롬프트에 응답하는 데 탁월하지만, 훈련한 적이 없는 특정 영역에서 성능이 떨어짐
  • 이를 위해서 기계 학습 엔지니어가 LLM을 조직의 내부 데이터 소스와 통합하고 프롬프트 엔지니어링을 적용해야 함
  • LangChain은 이러한 데이터 응답 애플리케이션을 개발하기 위한 중간 단계를 간소화하여 프롬프트 엔지니어링의 효율성을 높임

LangChain의 장점

언어 모델 용도 변경

  • 재훈련이나 미세 조정 없이 LLLM을 분야별 애플리케이션에 맞게 재활용 가능
  • 개발 팀은 독점 정보를 참조하여 모델 응답을 보강하는 복잡한 애플리케이션 구축 가능
  • RAG 워크플로를 만들 수 있으며 이를 통해 모델 할루시네이션을 줄이고 응답 정확도 향상

AI 개발 간소화

  • LangChain은 복잡한 데이터 소스 통합과 프롬프트 세분화를 추상화하여 인공 지능(AI) 개발을 간소화
  • 개발자는 시퀀스를 사용자 지정하여 복잡한 애플리케이션 빠르게 구축 가능

개발자 지원

  • LangChain은 언어 모델을 외부 데이터 소스와 연결하는 도구를 AI 개발자에게 제공
  • LangChain은 오픈 소스이며 활발한 커뮤니티 지원을 받음

LangChain의 작동 방법

체인

  • LangChain에 다양한 AI 구성 요소를 유지하며 컨텍스트 인식 응답을 제공한다는 기본 원칙
  • 사용자의 쿼리부터 모델의 출력에 이르기까지 일련의 자동화된 작업

체인의 예

  • 다른 데이터 소스에 연결
  • 고유한 콘텐츠 생성
  • 다언어 번역
  • 사용자 쿼리에 대답

링크

  • 체인은 링크로 이루어져 있음
  • 개발자가 서로 연결하며 체인 시퀀스를 형성하는 각 작업을 링크라고 함
  • 링크를 사용하여 복잡한 작업을 여러 개의 작은 작업으로 나눌 수 있음

링크의 예

  • 사용자 입력 형식 지정
  • LLM에 쿼리 전송
  • 클라우드 스토리지에서 데이터 검색
  • 특정 언어에서 다른 언어로 번역

LangChain의 핵심 구성 요소

LLM 인터페이스

  • LangChain은 개발자가 코드에서 LLM을 연결하고 쿼리할 수 있는 API를 제공
  • 개발자는 복잡한 코드를 작성하는 대신 간단한 API 호출을 통해 LangChain에서 GPT, Bard, PalM 등의 공개 및 독점 모델과 상호 작용 가능

프롬프트 템플릿

  • 개발자가 AI 모델에 대한 쿼리의 형식을 일관되고 정확하게 지정하는데 사용하는 사전 구축된 구조
  • 개발자는 챗봇 애플리케이션 또는 퓨샷 학습을 위한 프롬프트 템플릿을 만들거나, 언어 모델에 구체적인 지침 제공 가능
  • 다양한 애플리케이션과 언어 모델에 템플릿 재사용 가능

에이전트

  • LangChain이 제공하는 도구와 라이브러리를 사용하여 복잡한 애플리케이션을 위해 기존 체인을 구성하고 사용자 지정
  • 에이전트는 언어 모델이 쿼리에 응답하는 최상의 시퀀스를 결정하도록 유도하는 특수 체인
  • 에이전트를 사용할 때 개발자는 사용자의 입력, 사용 가능한 도구 및 원하는 결과를 얻기 위한 가능한 중간 단계 제공
  • 그 다음 언어 모델은 애플리케이션이 수행할 수 있는 현실적인 작업 시퀀스를 반환

검색 모듈

  • 언어 모델 응답을 개선하는 정보를 변환하고, 저장하고, 검색하고, 가져오는 다양한 도구를 사용하여 RAG 시스템을 설계
  • 개발자는 단어 임베딩을 사용하여 정보의 의미론적 표현을 생성하고 로컬 또는 클라우드 벡터 데이터베이스에 저장

메모리

  • LangChain을 사용하며 개발자가 시스템에 메모리 기능을 포함할 수 있음
  • 예시) 가장 최근의 대화를 기억하는 간단한 메모리 시스템
  • 예시) 과거 메시지를 분석하여 가장 연관성이 높은 결과를 반환하는 복잡한 메모리 구조

콜백

  • 개발자가 LangChain 작업의 특정 이벤트를 로깅, 모니터링 및 스트리밍하기 위해 애플리케이션에 추가하는 코드
  • 예시) 개발자는 체인이 처음 직접 호출된 시점과 콜백에서 발생한 오류 추적

출처 : https://aws.amazon.com/ko/what-is/langchain/

profile
< 너만의 듀얼을 해!!! )

0개의 댓글