본문으로 건너뛰기

LangChain - 언어 모델을 기반으로 한 앱개발 프레임워크

· 약 13분
Dongmin Yu

LangChain 소개

LangChain은 언어 모델을 기반으로 한 응용 프로그램을 개발하기 위한 프레임워크입니다. 이 프레임워크는 언어 모델을 API를 통해 호출하는 것뿐만 아니라 데이터를 연결하고 환경과 상호작용하는 응용 프로그램을 개발하는 데 유용합니다. LangChain은 모듈식 구성 요소와 사용 사례에 따라 구성 요소를 조합하여 특정 사용 사례를 가장 잘 수행할 수 있는 체인을 제공합니다.

References

(1) 🦜️🔗 LangChain | 🦜️🔗 LangChain (2) Welcome to LangChain — 🦜🔗 LangChain 0.0.134 (3) LangChain 分享(一):环境准备 - 知乎 LangChain은 언어 모델과 작업하는 데 필요한 구성 요소에 대한 모듈식 추상화를 제공합니다. 이러한 구성 요소는 사용하기 쉽게 설계되어 있으며 LangChain 프레임워크의 나머지 부분을 사용하든 사용하지 않든 관계없이 쉽게 사용할 수 있습니다 . LangChain은 구성 요소와 체인을 조합하여 특정 사용 사례를 가장 잘 수행할 수 있는 방식으로 작동합니다. 체인은 이러한 구성 요소를 특정 방식으로 조합하여 특정 사용 사례를 가장 잘 수행할 수 있도록 설계된 것입니다. 이러한 체인은 또한 사용자 정의가 가능하며, 높은 수준의 인터페이스를 제공하여 사용자가 쉽게 특정 사용 사례로 시작할 수 있도록 합니다. LangChain은 또한 언어 모델을 다른 데이터 소스와 연결하고 환경과 상호작용하는 응용 프로그램을 개발하는 데 유용합니다. 이를 위해 LangChain은 모듈식 구성 요소와 사용 사례에 따라 구성 요소를 조합하여 특정 사용 사례를 가장 잘 수행할 수 있는 체인을 제공합니다. LangChain은 다음과 같은 주요 모듈을 지원합니다: 모델 유형 및 모델 통합, 프롬프트 관리 및 최적화, 프롬프트 직렬화, 체인/에이전트 간 호출의 상태 유지를 위한 메모리, 텍스트 데이터와 결합하여 언어 모델을 더 강력하게 만들기 위한 인덱스, 단일 LLM 호출을 넘어서는 체인 및 에이전트 . LangChain의 구성 요소 중 하나는 모델입니다. 모델은 LangChain이 지원하는 다양한 모델 유형 및 모델 통합을 포함합니다. LangChain은 이러한 모델에 대한 모듈식 추상화와 구현을 제공합니다. LangChain의 구성 요소 중 하나는 프롬프트 관리입니다. 프롬프트 관리는 프롬프트 최적화 및 직렬화를 포함합니다. 프롬프트는 언어 모델에 입력으로 제공되는 텍스트로, 언어 모델이 생성하는 출력을 제어하는 데 사용됩니다. LangChain은 프롬프트 관리를 위한 모듈식 추상화를 제공하며, 이러한 추상화의 구현을 제공합니다. LangChain은 또한 메모리 구성 요소를 제공합니다. 메모리는 체인/에이전트 간 호출의 상태를 유지하는 데 사용됩니다. LangChain은 메모리에 대한 표준 인터페이스와 메모리 구현의 컬렉션을 제공하며, 메모리를 사용하는 체인/에이전트의 예제도 제공합니다. LangChain의 구성 요소 중 하나는 인덱스입니다. 인덱스는 언어 모델을 자체 텍스트 데이터와 결합하여 더 강력하게 만들기 위한 모듈입니다. LangChain은 이를 위한 모듈식 추상화와 구현을 제공합니다. LangChain은 또한 체인 구성 요소를 제공합니다. 체인은 단일 LLM 호출을 넘어서는 것으로, LLM 또는 다른 유틸리티에 대한 호출 시퀀스입니다. LangChain은 체인에 대한 표준 인터페이스와 다른 도구와의 통합을 제공하며, 일반적인 응용 프로그램에 대한 엔드-투-엔드 체인도 제공합니다. LangChain의 구성 요소 중 하나는 에이전트입니다. 에이전트는 LLM이 어떤 액션을 취할지 결정하고, 해당 액션을 취하고, 관찰을 보고, 완료될 때까지 반복하는 것을 포함합니다. LangChain은 에이전트에 대한 표준 인터페이스와 선택할 수 있는 에이전트를 제공하며, 엔드-투-엔드 에이전트의 예제도 제공합니다. LangChain의 구성 요소 중 하나는 평가입니다. 생성 모델은 전통적인 지표로 평가하기 어렵습니다. 이를 평가하는 새로운 방법 중 하나는 언어 모델 자체를 사용하여 평가하는 것입니다. LangChain은 이를 위한 프롬프트/체인을 제공합니다. LangChain은 Benchmark가 이끄는 1000만 달러의 시드 라운드를 발표했습니다. LangChain은 오픈 소스 프로젝트로 시작되었으며, 이제 GitHub에서 20K 이상의 스타와 10K 이상의 활성 Discord 멤버, Twitter에서 30K 이상의 팔로워를 보유하고 있습니다.

References

(1) Announcing our $10M seed round led by Benchmark (2) langchain · PyPI (3) Welcome to LangChain — 🦜🔗 LangChain 0.0.134 LangChain은 언어 모델을 기반으로 한 응용 프로그램을 개발하는 데 사용할 수 있습니다. 이러한 응용 프로그램은 다양한 분야에서 사용될 수 있습니다. 예를 들어, LangChain은 개인 비서, 질문 응답, 챗봇, 테이블 형식의 데이터 쿼리 및 API와 상호작용하는 응용 프로그램 개발에 사용될 수 있습니다. LangChain은 Python 및 JavaScript와 같은 다양한 언어로 구현되어 있습니다. 따라서 파이썬과 타입스크립트를 사용하는 개발자는 LangChain을 시작할 수 있습니다.

LangChain의 언어별 섹션에서는 해당 언어로 구성 요소 및 사용 사례를 사용하는 방법에 대한 정보를 제공합니다. 이러한 섹션에서는 언어별로 구성 요소 및 사용 사례를 사용하는 방법에 대한 자세한 정보를 찾을 수 있습니다. LangChain은 다양한 언어로 구현되어 있으며, 이러한 언어별 섹션에서는 해당 언어로 구성 요소 및 사용 사례를 사용하는 방법에 대한 정보를 제공합니다. 현재까지는 Python과 JavaScript만 지원합니다. LangChain은 챗봇을 만드는 데 사용될 수 있습니다. 언어 모델은 텍스트를 생성하는 데 뛰어나므로 챗봇을 만드는 데 이상적입니다. LangChain은 이러한 기능을 지원하는 구성 요소와 체인을 제공합니다. LangChain은 또한 개인 비서와 같은 다른 사용 사례도 지원합니다. 이 경우 LangChain은 액션을 취하고, 상호작용을 기억하고, 데이터에 대한 지식이 필요한 개인 비서를 만드는 데 사용될 수 있습니다. LangChain은 이러한 기능을 지원하는 구성 요소와 체인을 제공합니다. LangChain은 또한 질문 응답과 같은 다른 사용 사례도 지원합니다. 이 경우 LangChain은 특정 문서에 대한 질문에 대한 답변을 생성하는 데 사용될 수 있습니다. 이러한 답변은 해당 문서의 정보만을 사용하여 구성됩니다. LangChain은 특정 문서에 대한 질문에 대한 답변을 생성하는 데 사용될 수 있습니다. 이 경우 LangChain은 해당 문서의 정보만을 사용하여 답변을 구성합니다. 그러나 LangChain은 여러 문서를 학습하여 모든 FAQ를 반환하는 것은 아닙니다. LangChain은 언어 모델을 기반으로 한 응용 프로그램을 개발하기 위한 프레임워크입니다. 이 프레임워크는 언어 모델을 API를 통해 호출하는 것뿐만 아니라 데이터를 연결하고 환경과 상호작용하는 응용 프로그램을 개발하는 데 유용합니다.

그러나 LangChain 자체는 AI 모델을 공식적으로 제공하지 않으며, 외부 언어 모델의 API를 사용하여 응용 프로그램을 개발하는 데 사용될 수 있습니다. LangChain은 이러한 언어 모델을 API를 통해 호출하는 것뿐만 아니라 데이터를 연결하고 환경과 상호작용하는 응용 프로그램을 개발하는 데 유용합니다. LangChain은 이러한 언어 모델과 작업하는 데 필요한 구성 요소에 대한 모듈식 추상화를 제공합니다. 이러한 구성 요소는 사용하기 쉽게 설계되어 있으며 LangChain 프레임워크의 나머지 부분을 사용하든 사용하지 않든 관계없이 쉽게 사용할 수 있습니다. LLM(Large Language Model)만으로는 어플리케이션을 만들기가 어렵습니다. 하지만 LangChain에서 제공하는 다양한 기능을 활용하면 강력한 어플리케이션을 만들 수 있습니다. 이번 리뷰에서는 Microsoft가 Github에 공유한 VisualChatGPT와 LangChain이 적용된 여러 사례를 보면서 어떻게 활용할 수 있을 지 알아보겠습니다.