[LLM] 랭체인(LangChain)
랭체인(LangChaing)
랭체인(LangChaing)은 언어 모델 기반의 애플리케이션을 개발하는 프레임워크다.
여러 LLM을 처리하는 작업은 복잡하며, 언어 모델을 사용한 프로그래밍은 어려울 수 있다.
이때 사용하는 것이 랭체인이다.
랭체인을 사용해 문서 또는 구조화된 데이터에 대한 Q&A를 요약, 분석, 생성하고 이해하거나
API와 상호작용하고 생성형 AI를 활용하는 여러 애플리케이션을 만들 수 있다.
랭체인의 주요 요소
언어 모델은 랭체인을 통해 데이터 소스와 연결되고 상호작용한다.
랭체인의 주요 요소는 모듈식 추상화 및 추상화 구현의 모음으로 구성된다.
랭체인은 추상화라는 것을 통해 LLM 애플리케이션의 프로그래밍을 간소화한다.
💡 추상화
사용자에게 불필요한 세부사항을 숨겨 복잡성을 처리
사용자는 숨겨진 복잡성을 모두 이해하거나 생각하지 않고도 제공된 추상화 위에서 본인의 로직을 구현할 수 있다.
랭체인의 작동 방식
랭체인에는 6개의 모듈이 있다.
모델 I/O | 언어 모델과의 인터페이스 |
데이터 연결 | 애플리케이션별 데이터와의 인터페이스 |
체인 | 호출 시퀀스 구축 |
에이전트 | 상위 지시문이 주어지면 체인이 사용할 툴을 선택할 수 있도록 함 |
메모리 | 체인 실행 간 애플리케이션 상태 유지 |
콜백 | 체인의 중간 단계를 기록 및 스트리밍 |
1. 모델 I/O에서 프롬프트를 관리하고, 공통 인터페이스를 통해 언어 모델을 호출 및 정보를 추출할 수있다.
2. 데이터 연결은 데이터를 로드, 변환 저장 및 쿼리하기 위한 빌딩 블록을 제공한다.
3. 복잡한 애플리케이션은 LLM을 상호, 또는 다른 구성요소와 체인으로 연결해야한다.
랭체이는 체인으로 연결된 애플리케이션을 위한 체인 인터페이스를 제공한다.
4. 시퀀스를 하드 코딩하는 체인과 달리, 에이전트는 언어 모델을 추론 엔진으로 사용해 어떤 작업을 어느 순서에 따라 수행할지를 결정한다.
5. 대화형 시스템은 어느 정도 기간의 과거 메시지에 직업 액세스 할 수 있어야 하며, 랭체인에서는 해당 기능을 메모리로 한다.
6. 콜백은 LLM 애플리케이션의 다양한 단계에 연결할 수 있게 해준다.
로깅, 모니터링, 스트리밍 등의 작업에 유용하다.
참고
https://www.samsungsds.com/kr/insights/the-concept-of-langchain.html
'🤖 AI > LLM' 카테고리의 다른 글
[LLM] RAG (Retrieval-Augmented Generation) (0) | 2024.07.03 |
---|---|
[LLM] 올라마 모델에 랭체인 적용하기 (0) | 2024.06.27 |
[LLM] 올라마(Ollama) (0) | 2024.06.21 |
[LLM] LM Studio (0) | 2024.06.20 |
[LLM] 프롬프트 엔지니어링 (0) | 2024.06.13 |