인메모리 벡터 저장소 노드#
인메모리 벡터 저장소 노드를 사용하여 n8n의 앱 메모리에 임베딩을 저장하고 검색할 수 있습니다.
이 페이지에서는 인메모리 벡터 저장소 노드의 노드 매개변수를 찾을 수 있으며, 더 많은 리소스에 대한 링크도 포함되어 있습니다.
하위 노드에서의 매개변수 해석
하위 노드는 표현식을 사용하여 여러 항목을 처리할 때 다른 노드와 다르게 동작합니다.
대부분의 노드는(루트 노드 포함) 여러 개의 항목을 입력으로 받아 각 항목을 개별적으로 처리한 후 결과를 출력합니다.
이 과정에서 표현식을 사용하면 입력 항목을 참조할 수 있으며, 노드는 각 항목에 대해 표현식을 순차적으로 해석합니다.
예를 들어, name
값이 5개 있는 경우, {{ $json.name }}
표현식은 각각의 이름으로 순차적으로 해석됩니다.
하지만 하위 노드에서는 표현식이 항상 첫 번째 항목으로 해석됩니다.
즉, name
값이 5개 있어도 {{ $json.name }}
표현식은 항상 첫 번째 name
값으로 해석됩니다.
이 노드는 AI 메모리 노드와 다릅니다
여기서 설명하는 인메모리 저장소는 Window Buffer Memory와 같은 AI 메모리 노드와 다릅니다.
이 노드는 앱 메모리에서 벡터 데이터베이스를 생성합니다.
노드 사용 패턴#
다음 패턴에서 인메모리 벡터 저장소 노드를 사용할 수 있습니다.
문서를 삽입하고 검색하기 위한 일반 노드로 사용#
인메모리 벡터 저장소를 일반 노드로 사용하여 문서를 삽입하거나 가져올 수 있습니다. 이 패턴은 인메모리 벡터 저장소를 에이전트를 사용하지 않고 일반 연결 흐름에 배치합니다.
이 템플릿의 2단계 예제를 확인할 수 있습니다.
AI 에이전트와 도구로 직접 연결#
인메모리 벡터 저장소 노드를 AI 에이전트의 도구 커넥터에 직접 연결하여 쿼리에 답할 때 벡터 저장소를 자원으로 사용할 수 있습니다.
여기서 연결은 다음과 같습니다: AI 에이전트 (도구 커넥터) -> 인메모리 벡터 저장소 노드.
문서를 가져오기 위한 리트리버 사용#
인메모리 벡터 저장소 노드와 함께 벡터 저장소 리트리버 노드를 사용하여 인메모리 벡터 저장소 노드에서 문서를 가져올 수 있습니다. 이는 주어진 채팅 입력과 일치하는 벡터 저장소의 문서를 가져오기 위해 질문 및 답변 체인 노드와 함께 자주 사용됩니다.
연결 흐름의 예시 (링크된 예시는 Pinecone을 사용하지만 패턴은 동일함)은 다음과 같습니다: 질문 및 답변 체인 (리트리버 커넥터) -> 벡터 저장소 리트리버 (벡터 저장소 커넥터) -> 인메모리 벡터 저장소.
질문에 답하기 위한 벡터 저장소 질문 답변 도구 사용#
또 다른 패턴은 인메모리 벡터 저장소 노드에서 결과를 요약하고 질문에 답하기 위해 벡터 저장소 질문 답변 도구를 사용하는 것입니다. 이 패턴은 인메모리 벡터 저장소를 도구로 직접 연결하는 대신 벡터 저장소의 데이터를 요약하는 데 특별히 설계된 도구를 사용합니다.
이 경우 연결 흐름은 다음과 같이 됩니다: AI 에이전트 (도구 커넥터) -> 벡터 저장소 질문 답변 도구 (벡터 저장소 커넥터) -> 인메모리 벡터 저장소.
노드 매개변수#
운영 모드 (Operation Mode)#
이 Vector Store 노드는 네 가지 모드를 지원합니다:
다중 검색(Get Many), 문서 삽입(Insert Documents),
문서 검색(체인/도구용 벡터 저장소로 사용), 문서 검색(AI 에이전트용 도구로 사용).
선택한 모드에 따라 수행할 수 있는 작업과 사용 가능한 입력 및 출력이 결정됩니다.
다중 검색 (Get Many)#
이 모드는 벡터 데이터베이스에서 여러 문서를 검색하는 데 사용됩니다.
제공한 프롬프트를 임베딩하여 유사성 검색을 수행하며,
노드는 프롬프트와 가장 유사한 문서를 유사도 점수 와 함께 반환합니다.
이 기능은 유사한 문서 목록을 검색하여 에이전트에 추가 컨텍스트로 전달할 때 유용합니다.
문서 삽입 (Insert Documents)#
이 모드는 벡터 데이터베이스에 새 문서를 삽입하는 데 사용됩니다.
문서 검색 (체인/도구용 벡터 저장소로 사용)#
Retrieve Documents (As Vector Store for Chain/Tool)
이 모드는 벡터 저장소 검색기(vector-store retriever) 와 함께 사용됩니다.
벡터 데이터베이스에서 문서를 검색한 후, 체인에 연결된 검색기(retriever)에 문서를 제공합니다.
이 모드에서는 노드를 검색기 노드 또는 루트 노드에 연결해야 합니다.
문서 검색 (AI 에이전트용 도구로 사용)#
Retrieve Documents (As Tool for AI Agent)
이 모드는 벡터 저장소를 AI 에이전트의 도구(resource)로 사용할 때 사용됩니다.
응답을 생성할 때, 벡터 저장소의 이름과 설명이 질문 내용과 일치하면 에이전트가 벡터 저장소를 활용하여 답변을 생성합니다.
여러 매개변수 가져오기#
- 메모리 키: 워크플로 데이터에 벡터 메모리를 저장하는 데 사용할 키를 입력하세요. n8n은 충돌을 피하기 위해 워크플로 ID로 키에 접두사를 붙입니다.
- 프롬프트: 검색 쿼리를 입력하세요.
- 제한: 벡터 저장소에서 검색할 결과 수를 입력하세요. 예를 들어,
10
으로 설정하면 가장 좋은 10개의 결과를 얻을 수 있습니다.
문서 삽입 매개변수#
- 메모리 키: 워크플로 데이터에 벡터 메모리를 저장하는 데 사용할 키를 입력하세요. n8n은 충돌을 피하기 위해 워크플로 ID로 키에 접두사를 붙입니다.
- 저장소 지우기: 데이터를 삽입하기 전에 이 워크플로에 대한 주어진 메모리 키의 벡터 저장소를 지울지 여부를 제어하는 매개변수입니다 (켜짐).
문서 검색 (체인/도구의 벡터 저장소로) 매개변수#
- 메모리 키: 워크플로 데이터에 벡터 메모리를 저장하는 데 사용할 키를 입력하세요. n8n은 충돌을 피하기 위해 워크플로 ID로 키에 접두사를 붙입니다.
문서 검색 (AI 에이전트의 도구로) 매개변수#
- 이름: 벡터 저장소의 이름.
- 설명: 이 도구가 하는 일을 LLM에 설명하세요. 좋은 구체적인 설명은 LLM이 예상 결과를 더 자주 생성할 수 있도록 합니다.
- 메모리 키: 워크플로 데이터에 벡터 메모리를 저장하는 데 사용할 키를 입력하세요. n8n은 충돌을 피하기 위해 워크플로 ID로 키에 접두사를 붙입니다.
- 제한: 벡터 저장소에서 검색할 결과 수를 입력하세요. 예를 들어,
10
으로 설정하면 가장 좋은 10개의 결과를 얻을 수 있습니다.
템플릿 및 예제#
관련 자료#
서비스에 대한 더 많은 정보는 LangChains의 메모리 벡터 저장소 문서를 참조하세요.
n8n의 고급 AI(Advanced AI) 문서를 확인하세요.
AI 용어집 (AI Glossary)#
- 완성(Completion): GPT와 같은 모델이 생성하는 응답을 의미합니다.
- 환각(Hallucinations): AI에서 "환각"이란 LLM(대규모 언어 모델)이 실제로 존재하지 않는 패턴이나 개체를 잘못 인식하는 현상을 의미합니다.
- 벡터 데이터베이스(Vector Database): 정보를 수학적으로 표현한 벡터 데이터를 저장하는 데이터베이스입니다.
임베딩(Embeddings) 및 검색기(Retrievers)와 함께 사용하여 AI가 질문에 답할 때 접근할 수 있는 데이터베이스를 구성할 수 있습니다. - 벡터 저장소(Vector Store): 벡터 데이터베이스와 동일한 개념으로, 정보를 수학적으로 표현한 벡터 데이터를 저장하는 시스템입니다.
임베딩 및 검색기와 함께 사용하여 AI가 질문에 답할 때 참조할 수 있는 데이터베이스를 구축할 수 있습니다.