LangChain이란 무엇인가요?

LangChain은 대규모 언어 모델(LLM)을 기반으로 애플리케이션을 구축하기 위한 오픈 소스 프레임워크입니다. LLM은 대량의 데이터로 사전 훈련된 대규모 딥 러닝 모델로서, 질문에 답하거나 텍스트 기반 프롬프트에서 이미지를 생성하는 등 사용자 쿼리에 대한 응답을 생성할 수 있습니다. LangChain은 모델이 생성하는 정보의 맞춤화, 정확성 및 관련성을 개선하기 위한 도구와 추상화 기능을 제공합니다. 예를 들어 개발자는 LangChain 구성 요소를 사용하여 새 프롬프트 체인을 구축하거나 기존 템플릿을 맞춤화할 수 있습니다. LangChain에는 LLM이 재훈련 없이 새 데이터 세트에 액세스할 수 있도록 하는 구성 요소도 포함되어 있습니다.

대규모 언어 모델(LLM)에 대해 읽어보기

LangChain이 중요한 이유는 무엇인가요?

LLM은 일반적인 상황에서 프롬프트에 응답하는 데 탁월하지만, 훈련한 적이 없는 특정 영역에서는 성능이 떨어집니다. 프롬프트는 사람들이 LLM에서 대답을 찾는 데 사용하는 쿼리입니다. 예를 들어 LLM은 추정치를 제공하여 컴퓨터 비용에 대한 답변을 제공할 수 있습니다. 하지만 회사에서 판매하는 특정 컴퓨터 모델의 가격을 표시할 수는 없습니다. 

이를 위해서는 기계 학습 엔지니어가 LLM을 조직의 내부 데이터 소스와 통합하고 프롬프트 엔지니어링을 적용해야 합니다. 이는 데이터 사이언티스트가 특정 구조와 컨텍스트를 사용하여 생성형 모델에 대한 입력을 구체화하는 방법입니다. 

LangChain은 이러한 데이터 응답 애플리케이션을 개발하기 위한 중간 단계를 간소화하여 프롬프트 엔지니어링의 효율성을 높입니다. 챗봇, 질문 대답, 콘텐츠 생성, 요약기 등 언어 모델로 구동되는 다양한 애플리케이션을 보다 쉽게 개발할 수 있도록 설계되었습니다.

다음 섹션에서는 LangChain의 이점을 설명합니다.

언어 모델 용도 변경

LangChain을 사용하면 재훈련이나 미세 조정 없이 LLM을 분야별 애플리케이션에 맞게 재활용할 수 있습니다. 개발 팀은 독점 정보를 참조하여 모델 응답을 보강하는 복잡한 애플리케이션을 구축할 수 있습니다. 예를 들어 LangChain을 사용하여 저장된 내부 문서에서 데이터를 읽고, 이를 대화형 응답으로 요약하는 애플리케이션을 구축할 수 있습니다. 프롬프트를 표시하는 동안 언어 모델에 새 정보를 적용하는 검색 증강 생성(RAG) 워크플로를 만들 수 있습니다. RAG와 같은 컨텍스트 인식 워크플로를 구현하면, 모델 할루시네이션이 줄어들고 응답 정확도가 향상됩니다. 

AI 개발 간소화

LangChain은 복잡한 데이터 소스 통합과 프롬프트 세분화를 추상화하여 인공 지능(AI) 개발을 간소화합니다. 개발자는 시퀀스를 사용자 지정하여 복잡한 애플리케이션을 빠르게 구축할 수 있습니다. 소프트웨어 팀은 비즈니스 로직을 프로그래밍하는 대신, LangChain이 제공하는 템플릿과 라이브러리를 수정하여 개발 시간을 단축할 수 있습니다. 

개발자 지원

LangChain은 언어 모델을 외부 데이터 소스와 연결하는 도구를 AI 개발자에게 제공합니다. LangChain은 오픈 소스이며 활발한 커뮤니티의 지원을 받습니다. 조직은 LangChain을 무료로 사용하고 프레임워크에 능숙한 다른 개발자의 지원을 받을 수 있습니다.

LangChain은 어떻게 작동하나요?

LangChain에서 개발자는 원하는 결과를 생성하는 데 필요한 단계를 지정하여, 특정 비즈니스 상황에 맞게 언어 모델을 유연하게 조정할 수 있습니다. 

체인

체인이란 LangChain에 다양한 AI 구성 요소를 유지하여 컨텍스트 인식 응답을 제공한다는 기본 원칙입니다. 체인은 사용자의 쿼리부터 모델의 출력에 이르기까지, 일련의 자동화된 작업입니다. 예를 들어 개발자는 다음과 같은 용도로 체인을 사용할 수 있습니다.

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

링크

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

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

LangChain 프레임워크에서 링크는 사용자로부터 입력을 받아 처리를 위해 LangChain 라이브러리로 전달합니다. 또한 LangChain에서는 링크 재정렬을 통해 다양한 AI 워크플로를 만들 수 있습니다. 

개요

LangChain을 사용하기 위해 개발자는 다음 명령을 사용하여 Python에 프레임워크를 설치합니다.

pip install langchain 

그런 다음 개발자는 체인 빌딩 블록 또는 LangChain 표현 언어(LCEL)를 사용하여 간단한 프로그래밍 명령으로 체인을 구성합니다. chain() 함수는 링크의 인수를 라이브러리에 전달합니다. execute() 명령은 결과를 검색합니다. 개발자는 현재 링크 결과를 다음 링크에 전달하거나 최종 출력으로 반환할 수 있습니다. 

다음은 제품 세부 정보를 다국어로 번역하는 챗봇 체인 함수의 예입니다.

chain([

retrieve_data_from_product_database().

send_data_to_language_model().

   format_output_in_a_list().

  translate_output_in_target_language()

])

LangChain의 핵심 구성 요소는 무엇인가요?

소프트웨어 팀은 LangChain을 사용하여 다음 모듈로 컨텍스트 인식 언어 모델 시스템을 구축할 수 있습니다. 

LLM 인터페이스

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

프롬프트 템플릿

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

에이전트

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

검색 모듈

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

메모리

일부 대화형 언어 모델 애플리케이션은 과거 상호 작용에서 가져온 정보로 응답을 수정합니다. LangChain을 사용하면 개발자가 시스템에 메모리 기능을 포함할 수 있습니다. LangChain은 다음을 지원합니다.

  • 가장 최근의 대화를 기억하는 간단한 메모리 시스템 
  • 과거 메시지를 분석하여 가장 연관성이 높은 결과를 반환하는 복잡한 메모리 구조 

콜백

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

AWS는 LangChain 요구 사항을 어떻게 지원하나요? 

Amazon Bedrock, Amazon Kendra, Amazon SageMaker JumpStart, LangChain 및 LLM을 사용하여 엔터프라이즈 데이터를 기반으로 매우 정확한 생성형 인공 지능(생성형 AI) 애플리케이션을 구축할 수 있습니다. LangChain은 이러한 구성 요소를 하나로 묶는 인터페이스입니다.

  • Amazon Bedrock은 생성형 AI 애플리케이션을 구축하고 배포할 수 있는 관리형 서비스입니다. Amazon Bedrock을 사용하여 생성형 모델을 설정할 수 있으며, 이러한 모델은 LangChain에서 액세스할 수 있습니다. 
  • Amazon Kendra는 조직에서 내부 검색을 수행할 수 있도록 지원하는 기계 학습(ML) 기반 서비스입니다. Amazon Kendra를 LangChain에 연결할 수 있습니다. LangChain은 조직의 전용 데이터베이스에 제공되는 데이터를 사용하여 언어 모델 출력을 개선합니다. 
  • Amazon SageMaker Jumpstart는 신속하게 배포할 수 있는 사전 구축된 알고리즘과 파운데이션 모델을 제공하는 ML 허브입니다. SageMaker Jumpstart에서 파운데이션 모델을 호스팅하고 LangChain에서 프롬프트할 수 있습니다. 

지금 계정을 만들어 AWS에서 LangChain을 시작하세요.

AWS의 다음 단계

제품 관련 추가 리소스 확인
AWS 생성형 AI 서비스로 더 빠르게 혁신 
무료 계정 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다.

가입 
콘솔에서 구축 시작

AWS Management Console에서 구축을 시작하세요.

로그인