용어집

LangChain

랭체인으로 AI 앱 개발을 간소화하세요! 챗봇 및 요약 도구와 같은 강력한 LLM 기반 솔루션을 손쉽게 구축하세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

LangChain은 대규모 언어 모델(LLM)로 구동되는 애플리케이션의 개발을 간소화하도록 설계된 오픈 소스 프레임워크입니다. 이는 다른 연산 리소스 및 데이터 소스와 LLM을 연결하기 위한 표준 인터페이스와 구성 요소를 제공하여 보다 정교하고 상황에 맞는 인공 지능(AI) 애플리케이션을 만들 수 있게 해줍니다. 개발자는 LangChain을 통해 LLM과 개별적으로 상호 작용하는 대신 GPT-4 또는 Claude 3과 같은 모델을 외부 API, 데이터베이스 또는 로컬 파일에 연결하여 더욱 다양하고 강력하게 만들 수 있습니다.

핵심 구성 요소

LangChain은 몇 가지 주요 추상화를 통해 그 기능을 달성합니다:

  • 모델: 다양한 LLM(예: OpenAI) 및 임베딩 모델과의 통합.
  • 프롬프트: 프롬프트: 프롬프트 템플릿 및 동적 프롬프트 생성을 포함하여 LLM으로 전송되는 프롬프트를 관리하고 최적화하기 위한 도구입니다. 효과적인 프롬프트 엔지니어링은 LLM 동작을 안내하는 데 매우 중요합니다.
  • 체인: LLM 또는 다른 유틸리티에 대한 호출 시퀀스입니다. 단순 체인에는 단일 LLM 호출이 포함될 수 있는 반면, 복잡한 체인(프롬프트 체인)은 여러 LLM 호출 또는 다른 도구와의 상호 작용을 연결할 수 있습니다.
  • 인덱스: LLM이 쉽게 상호 작용할 수 있는 방식으로 데이터를 구조화하며, 효율적인 의미 검색을 위해 임베딩을 생성하고 Pinecone이나 Chroma와 같은 벡터 데이터베이스에 저장하는 등의 기술을 사용합니다.
  • 메모리: 체인이나 상담원이 이전 상호작용을 기억하여 진행 중인 대화나 작업에 대한 컨텍스트를 제공할 수 있도록 합니다. 이는 챗봇과 같은 상태 저장 애플리케이션을 구축하는 데 필수적입니다.
  • 에이전트: LLM이 어떤 조치를 취할지 결정하고, 검색 엔진이나 계산기 같은 도구를 사용하고, 결과를 관찰하고, 작업이 완료될 때까지 반복할 수 있도록 합니다. 이를 통해 보다 자율적으로 문제를 해결할 수 있습니다.

AI와 머신 러닝의 관련성

LangChain은 머신러닝(ML) 커뮤니티에서 상당한 주목을 받았는데, 이는 LLM을 기반으로 실제 애플리케이션을 구축하는 데 따르는 실질적인 문제를 해결하기 때문입니다. 다음과 같은 프레임워크는 PyTorchTensorFlow 과 같은 프레임워크는 모델을 훈련하고 정의하는 데 기본이 되지만, LangChain은 이러한 강력한 모델이 외부 시스템 및 데이터와 상호작용하는 방식을 조율하는 애플리케이션 계층에 초점을 맞추고 있습니다. 이는 주로 다음과 같은 모델을 사용해 객체 감지와 같은 작업을 위해 사용자 정의 모델 훈련, 데이터 세트 관리, 모델 배포 프로세스를 간소화하는 Ultralytics HUB와 같은 플랫폼과는 다릅니다. Ultralytics YOLO11.

LangChain은 LLM의 정교한 자연어 처리(NLP) 기능을 특정 컨텍스트에 기반하거나 외부 작업을 트리거할 수 있도록 하는 가교 역할을 합니다. 이는 API 호출, 데이터 처리 및 상태 관리를 위해 상당한 사용자 정의 코드가 필요한 복잡한 워크플로를 간소화합니다.

실제 애플리케이션

LangChain은 LLM 인텔리전스와 외부 리소스를 결합하여 광범위한 애플리케이션을 지원합니다:

  1. 비공개 문서에 대한질문 답변: 회사 정책 문서나 기술 매뉴얼을 기반으로 직원들의 질문에 답변할 수 있는 내부 챗봇을 원하는 회사를 상상해 보세요. LangChain은 검색 증강 세대(RAG) 시스템을 구축하는 데 사용할 수 있습니다. 문서는 벡터 데이터베이스에 로드, 분할, 임베드 및 저장됩니다. 사용자가 질문을 하면 LangChain은 관련 문서 청크를 검색하고, 이를 사용자의 질문과 결합하여 프롬프트로 만든 다음, 제공된 컨텍스트만을 기반으로 답변을 생성하기 위해 LLM으로 전송합니다. 이렇게 하면 특정 데이터 소스에 대한 답변을 제한하면서 LLM 추론을 활용할 수 있습니다. 많은 내부 지식창고 툴이 이 패턴을 활용합니다.
  2. 작업 완료를 위한 자율 에이전트: 사용자는 AI 어시스턴트에게 " Ultralytics 대한 최신 뉴스를 요약하여 관리자에게 이메일 초안을 작성해달라"고 요청할 수 있습니다. LLM으로 구동되는 LangChain 에이전트는 그렇게 결정할 수 있습니다:
    • 웹 검색 도구를 사용하여 다음에 대한 최근 문서를 찾습니다. Ultralytics.
    • 텍스트 요약 도구(또는 LLM 자체)를 사용하여 결과를 압축합니다.
    • 이메일 도구를 사용하거나 텍스트 초안을 작성하여 요약을 기반으로 메시지를 작성합니다.LangChain은 도구 사용 순서, 프롬프트 구성 및 단계 간 정보 흐름을 관리하여 LLM이 다양한 기능을 조율하는 추론 엔진처럼 작동할 수 있도록 합니다. 예를 들어 개인 비서와 자동화된 리서치 도구가 있습니다.

랭체인 및 관련 개념

LangChain을 관련 용어와 구별하는 것이 도움이 됩니다:

  • LLM과 LangChain 비교: LLM(예: GPT-3, Llama)은 텍스트를 이해하고 생성하는 핵심 모델입니다. LangChain은 이러한 LLM을 구성 요소로 사용해 애플리케이션을 구축하는 프레임워크입니다. 이는 LLM과 다른 도구/데이터 간의 상호 작용을 조율합니다.
  • 프롬프트 엔지니어링 대 랭체인: 프롬프트 엔지니어링은 LLM을 위한 효과적인 입력을 만드는 기술입니다. LangChain은 애플리케이션 컨텍스트 내에서 프롬프트 엔지니어링을 보다 쉽고 체계적으로 수행할 수 있는 도구(프롬프트 템플릿 등)를 제공하지만, 상태 관리 및 도구 통합을 포함해 훨씬 더 많은 것을 포괄합니다.
  • Hugging Face 트랜스포머와 랭체인 비교: Hugging Face 트랜스포머 라이브러리는 수천 개의 사전 훈련된 모델(많은 LLM 포함)과 이를 미세 조정하고 실행하기 위한 도구에 대한 액세스를 제공합니다. LangChain은 종종 Hugging Face 모델과 통합되지만 모델 구현 자체보다는 이러한 모델을 중심으로 애플리케이션을 구축하는 더 높은 수준의 작업에 중점을 둡니다.

LangChain은 복잡한 컨텍스트 인식 애플리케이션을 위해 LLM의 기능을 활용하고자 하는 개발자를 위한 강력한 툴킷을 제공합니다. 모듈식 설계와 성장하는 통합 에코시스템으로 인해 차세대 AI 기반 도구를 구축하는 데 널리 사용되고 있습니다. 공식 LangChain 문서와 LangChain GitHub 리포지토리를 통해 그 기능을 자세히 살펴볼 수 있습니다.

모두 보기