LangChain은 대규모 모델에 기반한 AI 애플리케이션을 개발하는 데 필요한 모듈과 도구를 제공하는 오픈 소스 Python AI 애플리케이션 개발 프레임워크입니다. LangChain을 사용하면 개발자는 대규모 언어 모델(LLM)과 쉽게 통합하여 텍스트 생성, 질문 응답, 번역, 대화 등의 작업을 완료할 수 있습니다. LangChain은 AI 애플리케이션 개발의 진입 장벽을 낮춰 누구나 LLM을 기반으로 자신만의 창의적인 애플리케이션을 구축할 수 있도록 합니다.

LangChain의 특징:

  • LLM 및 프롬프트: LangChain은 모든 대규모 모델에 대한 API를 추상화하고 대규모 모델에 대한 통합 액세스를 제공하며 프롬프트 템플릿을 관리하는 메커니즘을 제공합니다.
  • 체인: LangChain은 몇 가지 일반적인 시나리오를 사용 준비 상태로 캡슐화하여, 문맥 기반의 질문 응답 시스템, SQL 쿼리의 자연어 생성 등과 같은 작업을 "체인"이라는 이름으로 단계별로 실행되도록 합니다.
  • LCEL: LangChain 표현 언어(LCEL)는 새 버전의 LangChain의 핵심 기능으로, 워크플로 오케스트레이션 문제를 해결하는 데 사용됩니다. LCEL 표현을 사용하여 우리는 유연하게 AI 작업 처리 흐름을 사용자 정의할 수 있으며, 이를 유연한 사용자 정의 "체인"이라고도 합니다.
  • 검색 증강 생성 (RAG): 대규모 모델(LLM)은 새로운 정보를 이해하지 못하고 새로운 질문에 답변할 수 없기 때문에, 우리는 새로운 정보를 LLM에 가져와서 생성된 콘텐츠의 품질을 향상시키기 위해 LLM 내에 새로운 정보를 도입합니다. 이 모델은 Retrieval Augmented Generation (RAG)이라고 합니다.
  • 에이전트: 이는 대규모 모델(LLM)에 기반한 애플리케이션의 설계 패턴으로, LLM의 자연어 이해 및 추론 기능을 활용하여 사용자 요구에 따라 외부 시스템과 장치를 자동으로 호출하여 작업을 완료하는데 사용됩니다. 예를 들어 사용자가 "내일 하루 휴가를 내야 해"라는 입력을 하면, 대규모 모델(LLM)은 자동으로 휴가 신청을 시작하기 위해 휴가 시스템을 호출합니다.
  • 모델 메모리: 이는 대규모 모델(LLM)이 이전 대화 콘텐츠를 기억하도록 하는 것을 가능하게 합니다. 이를 모델 메모리라고 합니다.