n8n의 LangChain
n8n v2.42요약
n8n의 AI 노드는 LangChain의 JavaScript 프레임워크를 구현합니다. 이 페이지는 이미 LangChain을 알고 있으며 해당 개념이 n8n에 어떻게 대응되는지 확인하려는 독자를 위한 것입니다. 이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.
n8n의 AI 노드는 LangChain의 JavaScript 프레임워크를 구현합니다. 각 노드는 구성할 수 있으므로 에이전트, LLM, 메모리 및 기타 구성 요소를 직접 선택할 수 있습니다. 다른 n8n 노드를 LangChain 노드에 평소처럼 연결할 수 있으므로, LangChain 로직을 n8n이 지원하는 모든 데이터 소스 또는 서비스와 결합할 수 있습니다.
이 페이지는 이미 LangChain을 알고 있으며 해당 개념이 n8n에 어떻게 대응되는지 확인하려는 독자를 위한 것입니다. AI 개념이 처음이라면 대신 AI 구성 요소 이해부터 시작하세요.
이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.
LangChain 개념이 n8n 노드에 대응되는 방식#
n8n은 대부분의 LangChain 개념을 클러스터 노드로 표현합니다. 클러스터의 주요 기능을 정의하는 루트 노드에 기능을 확장하는 하나 이상의 서브 노드가 연결되는 구조입니다.
| LangChain 개념 | 노드 범주 | 예시 노드 | 더 알아보기 |
|---|---|---|---|
| Chain | 루트 노드 | Basic LLM Chain, Question and Answer Chain, Summarization Chain | AI에서 체인이란? |
| Agent | 루트 노드 | AI Agent | AI에서 에이전트란? |
| Language model | 서브 노드 | Anthropic Chat Model, OpenAI Chat Model, Ollama Chat Model | 서브 노드 |
| Vector store | 루트 노드 | Pinecone Vector Store, Qdrant Vector Store, Simple Vector Store | 벡터로 데이터 저장 및 검색 |
| Memory | 서브 노드 | Postgres Chat Memory, Redis Chat Memory, Simple Memory | 메모리가 작동하는 방식 |
| Tool | 서브 노드 | Call n8n Workflow Tool, Custom Code Tool, Wikipedia | AI에서 도구란? |
| Retriever | 서브 노드 | Vector Store Retriever, Workflow Retriever | 관련 컨텍스트 검색 |
| Embeddings | 서브 노드 | Embeddings OpenAI, Embeddings Cohere | 관련 컨텍스트 검색 |
| Document loader | 서브 노드 | Default Data Loader, GitHub Document Loader | 서브 노드 |
| Output parser | 서브 노드 | Structured Output Parser, Auto-fixing Output Parser | 서브 노드 |
| Text splitter | 서브 노드 | Recursive Character Text Splitter, Token Splitter | 서브 노드 |
메모리 서브 노드는 AI Agent 루트 노드에만 연결됩니다. LangChain과 달리 n8n의 체인 노드는 메모리를 지원하지 않으므로 대화의 이전 메시지를 참조할 수 없습니다. 워크플로에 이런 기능이 필요하다면 체인 대신 에이전트를 사용하세요.
위 예시가 전부는 아닙니다. 각 범주의 최신 전체 노드 목록은 루트 노드와 서브 노드 라이브러리에서 확인하세요. n8n은 채팅 메시지로 워크플로를 시작하는 Chat Trigger 노드와, 전용 n8n 노드가 아직 없는 기능을 위해 LangChain JavaScript 코드를 직접 작성할 수 있는 LangChain Code 노드도 제공합니다.
셀프 호스팅 n8n 인스턴스에서 LangSmith 사용하기#
LangSmith는 LangChain 팀이 만든 개발자 플랫폼입니다. 셀프 호스팅 n8n 인스턴스를 LangSmith에 연결하면 LangChain 애플리케이션을 트레이싱하는 것과 같은 방식으로 n8n 실행을 기록하고 모니터링할 수 있습니다.
기능 제공 범위
LangSmith 트레이싱은 다음 환경에서 사용할 수 있습니다.
- Self-hosted: 모든 에디션
n8n Cloud에서는 사용할 수 없습니다.
n8n을 LangSmith에 연결하려면:
-
LangSmith에 로그인하여 API 키를 받습니다.
-
n8n을 호스팅하는 환경에서 다음 환경 변수를 설정합니다.
변수 값 LANGCHAIN_ENDPOINThttps://api.smith.langchain.comLANGCHAIN_TRACING_V2trueLANGCHAIN_API_KEYLangSmith API 키 LANGCHAIN_PROJECT선택 사항인 프로젝트 이름입니다. 기본값은 default입니다LANGCHAIN_CALLBACKS_BACKGROUND트레이스를 비동기로 업로드하려면 true -
n8n을 재시작합니다.
LANGCHAIN_PROJECT를 다른 이름으로 설정하지 않으면, n8n이 첫 트레이스를 보낸 후 LangSmith가 default라는 프로젝트를 생성합니다. 이후 모든 트레이스는 해당 프로젝트로 전송됩니다. LANGCHAIN_CALLBACKS_BACKGROUND는 기본적으로 트레이스를 비동기로 업로드하므로 트레이스가 약간 늦게 도착할 수 있습니다. 디버깅할 때는 false로 설정하여 동기식으로 업로드하세요.
LangSmith 자체 사용법은 LangSmith 문서를 참고하세요.
LangChain 더 알아보기#
n8n을 사용하기 위해 LangChain을 알 필요는 없지만, 더 깊이 알고 싶다면 다음 자료가 도움이 됩니다.
- LangChain 문서에서 핵심 개념과 사용 사례를 다룹니다. 빠른 시작, 코드 예제, API 문서는 LangChain | Python 또는 LangChain | JavaScript를 선택하세요. LangChain은 일반적인 패턴과 사용 사례에 대한 아이디어를 담은 Python 및 JavaScript용 코드 템플릿도 제공합니다.
- What's LangChain?은 일반 독자를 위해 LangChain 용어를 쉬운 말로 설명합니다.
- Greg Kamradt의 YouTube 시리즈는 코드 예제와 함께 LangChain 문서를 차근차근 살펴봅니다.
- n8n Discord에 참여하여 LangChain에 대해 토론하고 n8n 커뮤니티와 프로젝트를 공유하세요.