Yolo 비전 선전
선전
지금 참여하기
용어집

LangChain

LangChain이 대규모 언어 모델(LLM) 애플리케이션 개발을 어떻게 간소화하는지 알아보세요. AI 모델과 실시간 데이터를 연결하고, 비전 작업을 위해 Ultralytics 통합하는 방법을 확인하세요.

LangChain은 대규모 언어 모델(LLM) 기반 애플리케이션 개발을 간소화하기 위해 설계된 오픈소스 프레임워크입니다. GPT-4와 같은 LLM은 자체적으로 강력하지만, 종종 실시간 데이터나 특정 비즈니스 컨텍스트에 대한 인식 없이 고립된 상태로 작동합니다. LangChain은 이러한 간극을 메우는 가교 역할을 수행합니다. 개발자는 프롬프트, 모델, 외부 데이터 소스 등 다양한 구성 요소를 연결하여 정교하고 맥락을 인지하는 애플리케이션을 구축할 수 있습니다. LangChain은 이러한 상호작용의 복잡성을 관리함으로써 인공지능(AI) 시스템이 동적 입력에 기반하여 문제를 추론하고 조치를 취할 수 있도록 지원합니다.

LangChain의 핵심 구성 요소

이 프레임워크는 자연어 처리(NLP)워크플로우를 강화하기 위해 함께 작동하는 여러 모듈식 개념을 중심으로 구축되었습니다.

  • 체인: 기본 구성 요소인 체인은 LLM 또는 기타 유틸리티에 대한 호출의 연속입니다. 예를 들어, 간단한 체인은 사용자의 입력을 받아 프롬프트 엔지니어링 템플릿을 사용하여 포맷한 후 모델에 전달하여 응답을 생성할 수 있습니다. 더 복잡한 체인은 여러 호출을 순차적으로 수행할 수 있으며, 이때 한 단계의 출력이 다음 단계의 입력이 됩니다.
  • 에이전트: 고정된 순서를 따르는 체인과 달리, AI 에이전트는 추론 엔진으로 대규모 언어 모델(LLM)을 활용하여 어떤 행동을 어떤 순서로 취할지 결정합니다. 에이전트는 최신 지식이 필요한 질문에 답하기 위해 API를 조회하거나, 웹을 검색하거나, 데이터베이스에 접근할 수 있습니다.
  • 검색: 모델 응답을 사실적 데이터에 기반시키기 위해 LangChain은 검색 강화 생성(RAG)을 지원합니다. 이는 사용자 질의에 기반하여 벡터 데이터베이스에서 관련 문서를 가져와 모델의 컨텍스트 윈도우에 공급하는 과정을 포함합니다.
  • 메모리: 표준 대규모 언어 모델(LLM)은 상태 비저장적(stateless)으로, 이전 상호작용을 기억하지 못합니다. LangChain은 메모리 구성 요소를 제공하여 챗봇이 대화 전반에 걸쳐 컨텍스트를 유지하도록 함으로써, 인간 대화의 연속성을 모방합니다.

실제 애플리케이션

LangChain은 생성형 AI를 실험용 노트북에서 다양한 산업 분야의 생산 환경으로 전환하는 데 핵심적인 역할을 합니다.

  1. 데이터와 대화하기(RAG): 가장 일반적인 응용 분야 중 하나는 기업 검색입니다. 기업들은 LangChain을 활용해 내부 문서, PDF, 기술 매뉴얼을 검색 가능한 인덱스로 변환합니다. 직원이 질문을 하면 시스템은 관련 문단을 추출해 LLM에 입력함으로써, 답변이 허구적이지 않고 회사 데이터에 기반한 정확한 정보임을 보장합니다. 이는 조직 내 지식 정제(knowledge distillation )를 획기적으로 개선합니다.
  2. 다중 모달 분석: LangChain은 텍스트와 컴퓨터 비전(CV)과 같은 다른 모달리티를 결합한 워크플로를 조정할 수 있습니다. 예를 들어, 보안 시스템은 객체 감지를 통해 무단 인원을 식별한 후 LangChain 에이전트를 트리거하여 사건 보고서를 작성하고 이를 관리자에게 이메일로 발송할 수 있습니다.

컴퓨터 비전과 통합

구조화된 시각적 데이터와 언어적 추론 간의 시너지는 강력한 개발 분야입니다. 개발자는 Ultralytics 같은 고성능 모델을 활용하여 이미지에서 객체 수, 분류, 위치 등 상세 정보를 추출하고, 이 구조화된 데이터를 LangChain 워크플로에 전달하여 추가 분석이나 자연어 설명을 수행할 수 있습니다.

다음 Python 스니펫은 Ultralytics 사용하여 감지된 클래스 이름을 추출하고, 하류 언어 체인에 입력할 수 있는 텍스트 기반 컨텍스트를 생성하는 방법을 보여줍니다.

from ultralytics import YOLO

# Load the YOLO26 model to generate structured data for a chain
model = YOLO("yolo26n.pt")

# Run inference on an image URL
results = model("https://ultralytics.com/images/bus.jpg")

# Extract detection class names to feed into a LangChain prompt
detections = [model.names[int(c)] for c in results[0].boxes.cls]

# Format the output as a context string for an LLM
chain_input = f"The image contains the following objects: {', '.join(detections)}."
print(chain_input)

구분되는 핵심 용어

LangChain과 이를 통해 조정되는 기술들을 구분하는 것이 중요합니다:

  • LangChain vs. LLMs: LLM(예: OpenAI의 GPT-4 또는 Anthropic Claude)은 텍스트를 처리하고 생성하는 "두뇌"입니다. LangChain은 그 두뇌를 데이터 전처리 파이프라인, API 및 사용자 인터페이스에 연결하는 "비계" 또는 인프라입니다.
  • LangChain 대 프롬프트 엔지니어링: 프롬프트 엔지니어링은 모델로부터 최상의 결과를 얻기 위해 최적의 텍스트 입력을 구성하는 데 중점을 둡니다. LangChain은 이러한 프롬프트 관리를 자동화하여 동적인 프롬프트 템플릿을 지원하며, 모델로 전송되기 전에 프로그래밍 방식으로 데이터로 채워집니다.

강력한 AI 시스템을 구축하려는 개발자에게는 공식 LangChain 문서를 통해 심층적인 기술 정보를 탐색할 수 있으며, Ultralytics 이러한 지능형 워크플로우에 최신 비전 기능을 통합하는 데 필요한 도구를 제공합니다. 또한 사용자는 Ultralytics 활용하여 이러한 고급 다중 모달 시스템에 공급되는 데이터셋과 훈련 파이프라인을 관리할 수 있습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기