Weaviate Vector Store 노드 문서
Weaviate 노드를 사용하여 Weaviate 컬렉션을 벡터 스토어로 활용할 수 있습니다. 이 페이지에서는 Weaviate 노드의 파라미터와 추가 리소스 링크를 확인할 수 있습니다. 이 노드의 인증 정보는 여기에서 확인할 수 있습니다.
Weaviate 노드를 사용하여 Weaviate 컬렉션을 벡터 스토어로 활용할 수 있습니다. 벡터 데이터베이스에 문서를 삽입하거나 검색할 수 있습니다. 또한 문서를 검색하여 chain에 연결된 retriever에 제공하거나, 이 노드를 agent에 직접 연결하여 tool로 사용할 수도 있습니다.
이 페이지에서는 Weaviate 노드의 파라미터와 추가 리소스 링크를 확인할 수 있습니다.
이 노드의 인증 정보는 여기에서 확인할 수 있습니다.
서브 노드는 표현식을 사용하여 여러 항목을 처리할 때 다른 노드와 다르게 동작합니다.
루트 노드를 포함한 대부분의 노드는 임의 수의 항목을 입력으로 받아 처리한 후 결과를 출력합니다. 표현식을 사용하여 입력 항목을 참조할 수 있으며, 노드는 각 항목에 대해 순서대로 표현식을 해석합니다. 예를 들어, 5개의 name 값이 입력된 경우 {{ $json.name }} 표현식은 각 이름을 순서대로 해석합니다.
서브 노드에서는 표현식이 항상 첫 번째 항목으로 해석됩니다. 예를 들어, 5개의 name 값이 입력된 경우 {{ $json.name }} 표현식은 항상 첫 번째 이름으로 해석됩니다.
노드 사용 패턴#
Weaviate Vector Store 노드는 다음과 같은 패턴으로 사용할 수 있습니다.
일반 노드로 사용하여 문서 삽입 및 검색#
Weaviate Vector Store를 일반 노드로 사용하여 문서를 삽입하거나 가져올 수 있습니다. 이 패턴은 agent를 사용하지 않고 Weaviate Vector Store를 일반 연결 흐름에 배치합니다.
AI agent에 tool로 직접 연결#
Weaviate Vector Store 노드를 AI agent의 tool 커넥터에 직접 연결하여 쿼리 응답 시 벡터 스토어를 리소스로 활용할 수 있습니다.
연결 방식: AI agent (tools 커넥터) → Weaviate Vector Store 노드
Retriever를 사용하여 문서 가져오기#
Vector Store Retriever 노드와 Weaviate Vector Store 노드를 함께 사용하여 Weaviate Vector Store 노드에서 문서를 가져올 수 있습니다. 이 방식은 Question and Answer Chain 노드와 함께 사용하여 채팅 입력과 일치하는 문서를 벡터 스토어에서 가져오는 데 자주 활용됩니다.
Vector Store Question Answer Tool로 질문에 답변하기#
또 다른 패턴으로는 Vector Store Question Answer Tool을 사용하여 Weaviate Vector Store 노드에서 결과를 요약하고 질문에 답변하는 방식이 있습니다. Weaviate Vector Store를 tool로 직접 연결하는 대신, 이 패턴은 벡터 스토어의 데이터를 요약하기 위해 특별히 설계된 tool을 사용합니다.
노드 파라미터#
동일한 컬렉션에 대해 데이터를 독립적인 테넌트로 분리할 수 있습니다(예: 서로 다른 고객을 위해). 이를 위해 객체를 삽입하거나 검색할 때 항상 Tenant Name을 제공해야 합니다. Weaviate 문서에서 멀티 테넌시에 대해 자세히 알아보기.
작동 모드#
이 Vector Store 노드에는 네 가지 모드가 있습니다: 여러 개 가져오기(Get Many), 문서 삽입(Insert Documents), 문서 검색(체인/도구용 벡터 스토어로 사용)(Retrieve Documents (As Vector Store for Chain/Tool)), 문서 검색(AI 에이전트용 도구로 사용)(Retrieve Documents (As Tool for AI Agent)). 선택한 모드에 따라 노드에서 수행할 수 있는 작업과 사용 가능한 입력 및 출력이 결정됩니다.
Get Many#
이 모드에서는 프롬프트를 제공하여 벡터 데이터베이스에서 여러 문서를 검색할 수 있습니다. 프롬프트가 임베딩되어 유사도 검색에 사용됩니다. 노드는 프롬프트와 가장 유사한 문서를 유사도 점수와 함께 반환합니다. 유사한 문서 목록을 검색하여 에이전트에 추가 컨텍스트로 전달하려는 경우에 유용합니다.
Insert Documents#
문서 삽입 모드를 사용하여 벡터 데이터베이스에 새 문서를 삽입합니다.
Retrieve Documents (as Vector Store for Chain/Tool)#
벡터 스토어 검색기와 함께 Retrieve Documents (As Vector Store for Chain/Tool) 모드를 사용하여 벡터 데이터베이스에서 문서를 검색하고 체인에 연결된 검색기에 제공합니다. 이 모드에서는 노드를 검색기 노드 또는 루트 노드에 연결해야 합니다.
Retrieve Documents (as Tool for AI Agent)#
쿼리에 응답할 때 벡터 스토어를 도구 리소스로 사용하려면 Retrieve Documents (As Tool for AI Agent) 모드를 사용합니다. 응답을 구성할 때 에이전트는 벡터 스토어 이름과 설명이 질문 내용과 일치하면 벡터 스토어를 사용합니다.
Get Many 파라미터#
- Weaviate Collection: 사용할 Weaviate 컬렉션 이름을 입력합니다.
- Prompt: 검색 쿼리를 입력합니다.
- Limit: 벡터 스토어에서 검색할 결과 수를 입력합니다. 예를 들어
10으로 설정하면 상위 10개 결과를 가져옵니다.
Insert Documents 파라미터#
- Weaviate Collection: 사용할 Weaviate 컬렉션 이름을 입력합니다.
- Embedding Batch Size: 한 번에 임베딩할 문서 수입니다. 기본값은 200개입니다.
Retrieve Documents (As Vector Store for Chain/Tool) 파라미터#
- Weaviate Collection: 사용할 Weaviate 컬렉션 이름을 입력합니다.
Retrieve Documents (As Tool for AI Agent) 파라미터#
- Weaviate Collection: 벡터 스토어의 이름입니다.
- Description: LLM에게 이 tool이 무엇을 하는지 설명합니다. 구체적이고 명확한 설명을 작성하면 LLM이 기대한 결과를 더 자주 생성합니다.
- Weaviate Collection: 사용할 Weaviate 컬렉션 이름을 입력합니다.
- Limit: 벡터 스토어에서 검색할 결과 수를 입력합니다. 예를 들어
10으로 설정하면 상위 10개 결과를 가져옵니다.
Include Metadata#
문서 메타데이터 포함 여부를 설정합니다.
Get Many와 Retrieve Documents (As Tool for AI Agent) 모드에서 사용할 수 있습니다.
Rerank Results#
재순위 지정(reranking)을 활성화합니다. 이 옵션을 활성화하면 벡터 스토어에 재순위 지정 노드를 연결해야 합니다. 해당 노드가 쿼리 결과를 재순위 지정합니다. 이 옵션은 여러 개 가져오기(Get Many), 문서 검색(체인/도구용 벡터 스토어로 사용)(Retrieve Documents (As Vector Store for Chain/Tool)), 문서 검색(AI 에이전트용 도구로 사용)(Retrieve Documents (As Tool for AI Agent)) 모드와 함께 사용할 수 있습니다.
노드 옵션#
Search Filters#
Get Many, Retrieve Documents (As Vector Store for Chain/Tool), Retrieve Documents (As Tool for AI Agent) 작업 모드에서 사용 가능합니다.
데이터 검색 시 문서와 연관된 메타데이터를 기준으로 필터링하는 데 사용합니다. 연산자와 쿼리 구조에 대한 자세한 내용은 Weaviate의 조건부 필터 문서를 참고하세요.
AND와 OR을 다양한 연산자와 함께 사용할 수 있으며, 연산자는 대소문자를 구분하지 않습니다:
{
"OR": [
{
"path": ["source"],
"operator": "Equal",
"valueString": "source1"
},
{
"path": ["source"],
"operator": "Equal",
"valueString": "source1"
}
]
}
지원되는 연산자:
| 연산자 | 필수 필드 | 설명 |
|---|---|---|
'equal' |
valueString 또는 valueNumber |
속성이 지정한 문자열 또는 숫자와 동일한지 확인합니다. |
'like' |
valueString |
문자열 속성이 패턴과 일치하는지 확인합니다(예: 부분 문자열 매칭). |
'containsAny' |
valueTextArray (string[]) |
속성이 지정한 값 중 하나라도 포함하는지 확인합니다. |
'containsAll' |
valueTextArray (string[]) |
속성이 지정한 값을 모두 포함하는지 확인합니다. |
'greaterThan' |
valueNumber |
속성 값이 지정한 숫자보다 큰지 확인합니다. |
'lessThan' |
valueNumber |
속성 값이 지정한 숫자보다 작은지 확인합니다. |
'isNull' |
valueBoolean (true/false) |
속성이 null인지 아닌지 확인합니다. (수집 전에 활성화해야 합니다) |
'withinGeoRange' |
valueGeoCoordinates (지리 위치 데이터가 있는 객체) |
지리적 좌표를 기준으로 근접성으로 필터링합니다. |
데이터 삽입 시 document loader가 메타데이터를 설정합니다. 문서 로드에 대한 자세한 내용은 Default Data Loader를 참고하세요.
Metadata Keys#
쿼리 시 Weaviate가 반환할 메타데이터 키를 정의할 수 있습니다. 정의한 속성만 가져오므로 네트워크 부하를 줄일 수 있습니다. 기본적으로는 서버의 모든 속성을 반환합니다.
Get Many, Retrieve Documents (As Vector Store for Chain/Tool), Retrieve Documents (As Tool for AI Agent) 작업 모드에서 사용 가능합니다.
Hybrid: Query Text#
벡터 검색과 키워드/텍스트 검색을 결합하기 위한 쿼리 텍스트를 입력합니다.
Hybrid: Explain Score#
hybrid 검색과 벡터 검색 사이에서 융합된 점수 설명을 표시할지 여부를 설정합니다.
Hybrid: Fusion Type#
벡터 검색과 키워드 검색 결과를 결합하는 fusion 타입을 선택합니다. fusion 알고리즘에 대해 자세히 알아보기.
옵션:
- Relative Score: 상대적 점수 fusion을 사용합니다
- Ranked: 순위 기반 fusion을 사용합니다
Hybrid: Auto Cut Limit#
점수의 급격한 변화를 감지하여 결과 그룹을 제한합니다. autocut에 대해 자세히 알아보기{:target=_blank .external-link}.
Hybrid: Alpha#
키워드 컴포넌트와 벡터 컴포넌트의 상대적 가중치를 조정합니다. 1.0 = 순수 벡터, 0.0 = 순수 키워드. 기본값은 0.5입니다. alpha 파라미터에 대해 자세히 알아보기{:target=_blank .external-link}.
Hybrid: Query Properties#
쿼리에 포함할 속성 목록을 쉼표로 구분하여 입력하며, 선택적으로 가중치 값을 지정할 수 있습니다(예: "question^2,answer"). 속성 값에 가중치 설정에 대해 자세히 알아보기{:target=_blank .external-link}.
Hybrid: Max Vector Distance#
벡터 검색 컴포넌트의 최대 허용 거리를 설정합니다.
Tenant Name#
문서를 저장하거나 검색할 특정 테넌트를 지정합니다. 멀티 테넌시에 대해 자세히 알아보기{:target=_blank .external-link}.
멀티 테넌시를 활성화하려면 첫 번째 수집 시 테넌트 이름을 전달해야 합니다. 생성 후에는 멀티 테넌시를 활성화하거나 비활성화할 수 없습니다.
Text Key#
임베딩된 텍스트가 포함된 문서의 키입니다.
Skip Init Checks#
클라이언트 초기화 시 초기화 검사를 건너뛸지 여부를 설정합니다.
Init Timeout#
초기 검사 중 타임아웃이 발생하기까지 대기할 시간(초)입니다.
Insert Timeout#
삽입 중 타임아웃이 발생하기까지 대기할 시간(초)입니다.
Query Timeout#
쿼리 중 타임아웃이 발생하기까지 대기할 시간(초)입니다.
GRPC Proxy#
gRPC 요청에 사용할 프록시입니다.
Clear Data#
Insert Documents 작업 모드에서 사용 가능합니다.
새 데이터를 삽입하기 전에 컬렉션 또는 테넌트를 지울지 여부를 설정합니다.
템플릿 및 예시#
이 노드의 워크플로 템플릿은 n8n 워크플로 템플릿 갤러리에서 확인할 수 있습니다.
관련 리소스#
이 서비스에 대한 자세한 내용은 LangChain의 Weaviate 문서를 참고하세요.
Self-hosted Weaviate Cluster에 대한 자세한 내용은 Weaviate Installation을 참고하세요.
n8n의 Advanced AI 문서를 확인하세요.
