개발일반/도대체

도대체 LangChain은 뭘까?

문괜 2024. 9. 19. 12:00
반응형

LangChain은 뭘까? 

 

가장 간단하게 설명하는 방법은 LLM을 활용해 Application을 만들기 위해 사용되는 Framework라고 생각하면 된다. 

 

우리가 Web Application을 만들기 위해서 Spring이나 Django를 쓰는거와 같은 역할을 한다. 

 

그런데 좀 더 구체적으로 설명하자면 아래의 그림을 참고 하면된다. 

 

Lanchain 공식 문서 출처

아래의 그림과 같이 LLM Application을 만들기 위한 다양한 부분들을 쉽게 연결하 도록 돕는 Framework다. 특히, 외부 Packcages를 자유롭게 연결 할 수 있다. 그래서 아래와 같이 나누어진다.

 

  1. langchain-core: LLM, Vector Store가 Interface방식으로 구성 돼 있다. 그래서 서로다른 Vector Store인 경우에도 Langchain에서 지정한 양식만 따른 다면 쉽게 바꿔서 사용할 수 있다.
  2. langchin: Framework를 사용하기위한 Methods들이 저장 돼 있다. 그래서 간단하게 정의된 LLM Application 부분들을 통합하기 위해 필요하다.
  3. langchain-community: 외부 Package를 사용하기 위해 필요하다. Langchain community에서 유지 중인 Package들이 정의 돼있다. 

이런 부분들에 사용법을 모아 놓은 곳이 아래의 Documents다.

  1. Langchain API Docs: Read Docs
  2. Lnagchain API Docs: Langchain Official
 

LangChain Python API Reference — 🦜🔗 LangChain documentation

langchain-google-vertexai 2.0.0

python.langchain.com

 

개인적으로 Read Docs를 더 많이 보게 된다. 물론 LangChain api가 아닌 Framework 사용법에 관해서는 아래의 링크가 좀 더 많은 정보를 가지고 있다.

 

Langchain Introduction

 

Introduction | 🦜️🔗 LangChain

LangChain is a framework for developing applications powered by large language models (LLMs).

python.langchain.com

 

특히, 여기서 집중적으로 봐야 할 부분이 LCEL이다. Langchain의 경우 Chain의 형태로 각 부분들을 엮어 낼 수 있는데 Chain을 어떻게 역는지에 대한 구체적인 셜명이 나와있다. (추후에 따로 정리할 예정)

 

 

반응형