LangChain 통합 구현하기
LangChain 통합 구현하기 (Implement a LangChain integration)
통합 패키지는 사용자가 프로젝트에서 사용하도록 설치할 수 있는 패키지예요. LangChain 인터페이스 표준을 준수하는 하나 이상의 컴포넌트를 구현합니다.
출처: 문서
본문
LangChain 컴포넌트는 langchain-core의 기본 클래스 서브클래스입니다. 예로는 채팅 모델, 도구, 리트리버 등이 있습니다.
통합 패키지는 일반적으로 이들 컴포넌트 중 적어도 하나의 서브클래스를 구현합니다. 아래 탭을 펼쳐 각각에 대한 세부 사항을 확인하세요.
-
채팅 모델 (Chat Models) — 채팅 모델은
BaseChatModel클래스의 서브클래스입니다. 채팅 완성 생성, 메시지 포맷팅 처리, 모델 파라미터 관리를 위한 메서드를 구현합니다.채팅 모델 통합 가이드는 현재 WIP입니다. 그동안 LangChain 채팅 모델이 어떻게 동작하는지 자세한 내용은 [채팅 모델 개념 가이드](/oss/javascript/langchain/models)를 읽어보세요. [LangChain 저장소](https://github.com/langchain-ai/langchainjs/tree/main/libs/providers)의 기존 통합을 참고할 수도 있습니다. -
임베딩 (Embeddings) — 임베딩 모델은
Embeddings클래스의 서브클래스입니다.임베딩 모델 통합 가이드는 현재 WIP입니다. 그동안 LangChain 임베딩 모델이 어떻게 동작하는지 자세한 내용은 [임베딩 모델 개념 가이드](/oss/javascript/integrations/embeddings)를 읽어보세요. -
도구 (Tools) — 도구는 주로 두 가지 방식으로 사용됩니다:
- 텍스트 요청과 함께 채팅 모델의 도구 호출 기능에 전달할 "입력 스키마" 또는 "인자 스키마"를 정의하여, 채팅 모델이 "도구 호출" 또는 도구를 호출할 파라미터를 생성하게 합니다.
- 위에서 생성된 "도구 호출"을 받아 어떤 조치를 취하고, ToolMessage로 채팅 모델에 다시 전달할 수 있는 응답을 반환합니다.
Tools 클래스는
BaseTool기본 클래스에서 상속받아야 합니다. 이 인터페이스에는 서브클래스에서 구현해야 하는 3개의 속성과 2개의 메서드가 있습니다.도구 통합 가이드는 현재 WIP입니다. 그동안 LangChain 도구가 어떻게 동작하는지 자세한 내용은 [도구 개념 가이드](/oss/javascript/langchain/tools)를 읽어보세요. -
미들웨어 (Middleware) — 미들웨어는 모델 호출, 도구 호출, 에이전트 수명주기 이벤트에 훅을 걸어 에이전트 동작을 커스터마이즈할 수 있게 해줍니다. 미들웨어 클래스는
AgentMiddleware기본 클래스를 서브클래싱합니다.통합을 구축하기 전에 커스텀 미들웨어 가이드를 읽고 훅, 상태 업데이트, 미들웨어 패턴을 이해하세요.
미들웨어 통합은 일반적으로 두 범주로 나뉩니다:
유형 설명 예시 프로바이더 특정(Provider-specific) 프로바이더의 고유 기능 활용 프롬프트 캐싱, 네이티브 도구 실행, 콘텐츠 조정 프로바이더 간(Cross-provider) 어떤 모델이나 도구와도 작동 속도 제한, PII 탐지, 로깅, 가드레일 프로바이더 특정 미들웨어는 프로바이더의 통합 패키지(예:
langchain-anthropic)에 있습니다. 프로바이더 간 미들웨어는 독립 패키지로 게시할 수 있습니다.참고로 기존 미들웨어 통합을 사용할 수도 있습니다:
- Anthropic 미들웨어 (/oss/javascript/integrations/middleware/anthropic): 프롬프트 캐싱, 도구, 메모리, 파일 검색을 위한 여러 미들웨어 클래스
- 커스텀 미들웨어 가이드 (/oss/javascript/langchain/middleware/custom): 훅, 상태 업데이트, 패턴에 대한 전체 레퍼런스
-
체크포인터 (Checkpointers) — 체크포인터는 LangGraph에서 영속성을 활성화하여 에이전트가 상호작용 간에 상태를 저장하고 재개할 수 있게 합니다. 구현 예시는 LangGraph 저장소의 기존 체크포인터 통합을 참고하세요.
-
샌드박스 (Sandboxes) — 샌드박스 통합은 Deep Agents가 격리된 환경에서 코드를 실행할 수 있게 합니다.
더 알아보기
- 이 문서를 MCP로 연결하면 Claude, VSCode 등에서 실시간 답변을 받을 수 있어요.
- GitHub에서 이 페이지 편집하기 또는 이슈 제출하기.