
Langchain은 LLM 앱을 구축하기 위한 통합 API 레이어다.
Langchain이 필요한 이유: LLM 앱을 제작하려면 단순히 프롬프트를 보내고 응답을 기다리는 것 이상의 작업이 필요함. 매개변수 조정부터 프롬프트 보강, 응답 조정에 이르기까지 고려해야 할 요소가 많음.
LLM 앱이 컨텍스트를 구축하기 위해 PDF, 웹 페이지, CSV, 관계형 데이터베이스와 같은 외부 소스에서 데이터를 검색해야 하는 경우가 있는데, Langchain은 서로 다른 소스에서 데이터에 액세스하고 검색할 수 있는 모듈과 원활하게 통합된다.
임베딩 모델에 전달하기 위해, 일부 외부 소스에서 검색된 데이터는 벡터로 변환되어야 함. 실제로 오픈AI의 GPT-3.5 모델은 컨텍스트를 전송하는 데 사용해야 하는 단어 임베딩 모델과 관련되어 있음. Langchain은 선택한 LLM을 기반으로 최적의 임베딩 모델을 선택한다.
생성된 임베딩은 유사성 검색을 위해 벡터 데이터베이스에 저장됨. Langchain은 메모리 내 배열부터 파인콘과 같은 호스팅 벡터 데이터베이스에 이르기까지 다양한 소스에서 벡터를 쉽게 저장하고 검색할 수 있음.
Langchain은 오픈AI, 코히어(Cohere), AI21에서 제공하는 주류 LLM과 허깅페이스(Hugging Face)에서 제공되는 오픈소스 LLM을 지원함. 지원되는 모델과 API 엔드포인트 목록은 빠르게 증가하고 있음.

Agents 모듈은 LLM을 사용하여 프롬프트를 행동 계획으로 추출하는 ReAct 프롬프트 제작을 단순화함. Agents 모듈은 기본 일련의 동작을 선택하기 위해 LLM을 사용하는 일종의 동적 체인으로 생각할 수 있음. 동작의 순서는 체인(코드)으로 하드 코딩되며, 언어 모델은 Agents 모듈 내에서 추론 엔진으로 사용되어 어떤 순서로 어떤 동작을 취할지 결정함.