본문 바로가기

Coding/TIL

TIL | #09 | 랭체인(LangChain) | 23.12.07.(목)

23.12.07.(THU).TIL.

랭체인(LangChain)

랭체인(LangChain)이란 무엇인가?

랭체인(LangChain)은 노출하여 대규모 언어 모델과 애플리케이션의 통합을 간소화하는 SDK이다.
대규모 언어 모델의 부상과 함께 중요성이 커지고 있다.
대규모 언어 모델에 대한 최신 트렌드를 쫓는 소프트웨어 개발자라면
연일 쏟아지는 소식이 당황스러울 수 있다.
새로운 오픈소스 모델의 출시나 상용 모델 제공업체의 중요한 새 기능 발표가
매일 등장하는 상황과 비슷하다고 할 수 있다.

어느덧 LLM은 최신 소프트웨어 스택의 한 요소로 빠르게 부상했다.
그러나 오픈AI와 같은 공급업체가 제공하는 모델 API를 사용하든,
오픈소스 모델을 앱에 포함하든 LLM 기반 애플리케이션을 구축하려면
단순히 프롬프트를 보내고 응답을 기다리는 것 이상의 작업이 필요하다.
매개변수 조정부터 프롬프트 보강, 응답 조정에 이르기까지 고려해야 할 요소가 많다.
이를테면 LLM은 상태를 저장하지 않으므로 대화의 이전 메시지를 기억하지 못한다.
기록을 유지하고 LLM에 컨텍스트를 제공하는 것은 개발자의 책임이다.
맥락 정보가 새로운 대화에서 컨텍스트를 다시 가져오기 위해
영구 데이터베이스에 저장되어야 할 수도 있다.
이렇듯 LLM에 단기 및 장기 메모리를 추가하는 것은 개발자의 주요 책임 중 하나이다.
또 다른 문제는 LLM에 대한 일률적인 규칙이 없다는 것이다.
감정 분석, 분류, 질문 답변과 요약 등 다양한 시나리오에 특화된 여러 모델을 사용해야 할 수 있다.
여러 LLM을 처리하는 작업은 복잡하며 상당한 노력을 필요로 한다.

LLM 앱을 구축하기 위한 통합 API 레이어

1. 데이터 소스
2. 단어 임베딩
3. 벡터 데이터베이스
4. 언어 모델(LLM)
5. 에이전트

출처

https://www.samsungsds.com/kr/insights/what-is-langchain.html