컴포넌트 아키텍처
컴포넌트 아키텍처 (Component architecture)
컴포넌트는 LangChain 애플리케이션을 구성하는 빌딩 블록이에요. 이 페이지는 서로 다른 컴포넌트들 간의 관계를 보여주는 다이어그램을 제공해요.
LangChain의 힘은 컴포넌트들이 함께 작동해 정교한 AI 애플리케이션을 만드는 방식에서 나와요.
핵심 컴포넌트 생태계 (Core component ecosystem)
아래 다이어그램은 LangChain의 주요 컴포넌트들이 어떻게 연결되어 완전한 AI 애플리케이션을 구성하는지 보여줘요:
graph TD
%% Input processing
subgraph "📥 Input processing"
A[Text input] --> B[Document loaders]
B --> C[Text splitters]
C --> D[Documents]
end
%% Embedding & storage
subgraph "🔢 Embedding & storage"
D --> E[Embedding models]
E --> F[Vectors]
F --> G[(Vector stores)]
end
%% Retrieval
subgraph "🔍 Retrieval"
H[User Query] --> I[Embedding models]
I --> J[Query vector]
J --> K[Retrievers]
K --> G
G --> L[Relevant context]
end
%% Generation
subgraph "🤖 Generation"
M[Chat models] --> N[Tools]
N --> O[Tool results]
O --> M
L --> M
M --> P[AI response]
end
%% Orchestration
subgraph "🎯 Orchestration"
Q[Agents] --> M
Q --> N
Q --> K
Q --> R[Memory]
end
classDef trigger fill:#F6FFDB,stroke:#6E8900,stroke-width:2px,color:#2E3900
classDef process fill:#E5F4FF,stroke:#006DDD,stroke-width:2px,color:#030710
classDef output fill:#EBD0F0,stroke:#885270,stroke-width:2px,color:#441E33
classDef neutral fill:#F2FAFF,stroke:#40668D,stroke-width:2px,color:#2F4B68
class A,H trigger
class B,C,E,I,K,M,N,Q process
class D,F,J,L,O,P,R neutral
class G output
컴포넌트가 어떻게 연결되나 (How components connect)
각 컴포넌트 계층은 이전 계층 위에 구축돼요:
- 입력 처리 (Input processing) – 원시 데이터를 구조화된 문서로 변환
- 임베딩·저장 (Embedding & storage) – 텍스트를 검색 가능한 벡터 표현으로 변환
- 검색 (Retrieval) – 사용자 쿼리를 기반으로 관련 정보 찾기
- 생성 (Generation) – 선택적으로 툴과 함께 AI 모델로 응답 생성
- 오케스트레이션 (Orchestration) – 에이전트와 메모리 시스템으로 모든 것을 조정
컴포넌트 카테고리 (Component categories)
LangChain은 컴포넌트를 다음 주요 카테고리로 구성해요:
| 카테고리 | 목적 | 핵심 컴포넌트 | 사용 사례 |
|---|---|---|---|
| 모델 | AI 추론과 생성 | 채팅 모델, LLM, 임베딩 모델 | 텍스트 생성, 추론, 의미론적 이해 |
| 툴 | 외부 기능 | API, 데이터베이스 등 | 웹 검색, 데이터 접근, 계산 |
| 에이전트 | 오케스트레이션과 추론 | ReAct 에이전트, 툴 호출 에이전트 | 비결정적 워크플로, 의사 결정 |
| 메모리 | 컨텍스트 보존 | 메시지 이력, 커스텀 상태 | 대화, 상태 저장 상호작용 |
| 리트리버 | 정보 접근 | 벡터 리트리버, 웹 리트리버 | RAG, 지식 베이스 검색 |
| 문서 처리 | 데이터 수집 | 로더, 스플리터, 트랜스포머 | PDF 처리, 웹 스크래핑 |
| 벡터 스토어 | 의미론적 검색 | Chroma, Pinecone, FAISS | 유사도 검색, 임베딩 저장 |
일반적인 패턴 (Common patterns)
RAG (검색 증강 생성)
graph LR
A[User question] --> B[Retriever]
B --> C[Relevant docs]
C --> D[Chat model]
A --> D
D --> E[Informed response]
classDef trigger fill:#F6FFDB,stroke:#6E8900,stroke-width:2px,color:#2E3900
classDef process fill:#E5F4FF,stroke:#006DDD,stroke-width:2px,color:#030710
classDef neutral fill:#F2FAFF,stroke:#40668D,stroke-width:2px,color:#2F4B68
class A trigger
class B,D process
class C,E neutral
툴이 있는 에이전트 (Agent with tools)
graph LR
A[User request] --> B[Agent]
B --> C{Need tool?}
C -->|Yes| D[Call tool]
D --> E[Tool result]
E --> B
C -->|No| F[Final answer]
classDef trigger fill:#F6FFDB,stroke:#6E8900,stroke-width:2px,color:#2E3900
classDef process fill:#E5F4FF,stroke:#006DDD,stroke-width:2px,color:#030710
classDef decision fill:#FDF3FF,stroke:#7E65AE,stroke-width:2px,color:#504B5F
classDef neutral fill:#F2FAFF,stroke:#40668D,stroke-width:2px,color:#2F4B68
class A trigger
class B,D process
class C decision
class E,F neutral
다중 에이전트 시스템 (Multi-agent system)
graph LR
A[Complex Task] --> B[Supervisor agent]
B --> C[Specialist agent 1]
B --> D[Specialist agent 2]
C --> E[Results]
D --> E
E --> B
B --> F[Coordinated response]
classDef trigger fill:#F6FFDB,stroke:#6E8900,stroke-width:2px,color:#2E3900
classDef process fill:#E5F4FF,stroke:#006DDD,stroke-width:2px,color:#030710
classDef neutral fill:#F2FAFF,stroke:#40668D,stroke-width:2px,color:#2F4B68
class A trigger
class B,C,D process
class E,F neutral
더 알아보기 (Learn more)
출처: 문서
본문
이 페이지는 LangChain 프레임워크의 컴포넌트 아키텍처를 mermaid 다이어그램으로 보여줘요. 입력 처리→임베딩·저장→검색→생성→오케스트레이션 흐름의 핵심 컴포넌트 생태계를 설명하고, 컴포넌트 카테고리(모델·툴·에이전트·메모리·리트리버·문서 처리·벡터 스토어) 표를 제공하며, RAG·툴 기반 에이전트·다중 에이전트 시스템 같은 일반적인 패턴을 보여줘요.