이 튜토리얼에서는 n8n의 워크플로 자동화 플랫폼과 함께 Couchbase의 벡터 검색 기능을 활용하는 방법을 보여드립니다. 벡터 임베딩을 사용하여 상황에 맞는 결과를 제공하는 사용자 쿼리를 기반으로 휴가 목적지를 추천하는 간단한 여행사 워크플로우를 구축해 보겠습니다.
소개
벡터 검색을 사용하면 정확히 일치하는 항목이 아닌 의미적 유사성을 기반으로 검색할 수 있습니다. n8n의 Couchbase 검색 벡터 노드는 벡터 데이터베이스에서 문서의 검색, 업데이트, 삽입을 지원하는 Couchbase의 검색 서비스를 사용하여 벡터 검색 작업을 수행할 수 있게 해줍니다.
이 튜토리얼에서는
-
- 카우치베이스 카펠라 클러스터 설정하기
- 필요한 버킷, 범위 및 컬렉션을 구성하세요.
- 벡터 검색을 위한 검색 인덱스 만들기
- 데이터 수집 및 채팅 기능으로 n8n 워크플로 구축하기
- 간편 여행사 테스트
전제 조건
-
- n8n 자체 호스팅 인스턴스
- n8n 인스턴스에 설치된 n8n-nodes-couchbase 커뮤니티 노드 패키지
- 커뮤니티 노드 설치에 대한 정보는 다음에서 확인할 수 있습니다. 여기
- 카우치베이스 카펠라 계정(무료 티어면 충분)
- OpenAI 및 Gemini용 API 키(임베딩 및 LLM 기능용)
1단계: Couchbase 클러스터 배포하기
검색 서비스를 사용하는 모든 유형의 클러스터가 작동하지만 Couchbase Capella의 무료 티어에 클러스터를 배포하는 것부터 시작하겠습니다.
-
- 로그인 카우치베이스 카펠라또는 카우치베이스 카펠라 계정 가입하기
- 운영 클러스터 배포
- 클러스터 필수 검색 서비스를 사용하도록 설정합니다.
2단계: Couchbase 데이터베이스 구성하기
3단계: 검색 색인 만들기
4단계: 클러스터 액세스 설정
-
- 클러스터 액세스 자격 증명 만들기
- 허용된 IP 주소 구성
- n8n을 실행하는 컴퓨터의 IP 주소를 허용해야 합니다.
- 테스트 목적으로 어디서든 액세스를 허용할 수 있지만 프로덕션 시나리오에서는 사용하지 않아야 합니다.
5단계: n8n 워크플로로 작업하기
워크플로 템플릿이 제공됩니다. 여기. n8n 워크플로는 크게 두 가지 구성 요소로 이루어져 있습니다:
데이터 수집 워크플로
-
- 웹훅 노드(HTTP 요청을 수신하기 위한)
- OpenAI 임베딩 노드(문서 삽입 시 임베딩 생성)
- 참고: 다음을 구성해야 합니다. OpenAI 자격 증명 이 노드에 대한
- 카우치베이스 벡터 노드(문서 삽입용으로 구성)
- 기본 데이터 로더 및 재귀 문자 텍스트 분할기
채팅 애플리케이션 워크플로
-
- 채팅 트리거 노드
- AI 도구 에이전트 노드에 연결합니다:
- 쌍둥이자리(채팅 모델, 응답 생성용)
- 참고: 다음을 구성해야 합니다. 쌍둥이자리 자격 증명 이 노드에 대한
- 단순 메모리(대화 컨텍스트 유지를 위한 메모리)
- 카우치베이스 검색 벡터 노드(검색용 도구)
- OpenAI 임베딩 노드(쿼리를 벡터로 변환하기 위한 Couchbase 검색 벡터 노드의 임베딩 모델)
- 참고: 다음을 구성해야 합니다. OpenAI 자격 증명 이 노드에 대한
- 쌍둥이자리(채팅 모델, 응답 생성용)
6단계: 카우치베이스 벡터 노드 구성하기
-
- 다음을 사용하여 새 Couchbase 자격 증명을 만듭니다:
- 연결 문자열(아카펠라의 '연결' 탭에서)
- 클러스터 액세스 자격 증명(4단계에서 생성)의 사용자 이름 및 비밀번호
- 두 카우치베이스 벡터 노드 모두에 대해 노드 설정을 구성합니다:
- 버킷: 여행사
- 범위: 벡터
- 수집: 관심 포인트
- 색인: poi-index
- 다음을 사용하여 새 Couchbase 자격 증명을 만듭니다:
7단계: 샘플 데이터 수집
제공된 셸 스크립트를 사용하여 설명이 포함된 샘플 여행 목적지 데이터를 수집합니다.
-
- 저장 및 활성화 워크플로
- 프로덕션 웹훅 URL 복사
- 다운로드 제공된 셸 스크립트를 클릭하고 실행하여 몇 가지 관심 지점을 삽입합니다:
|
1 2 3 4 5 |
# 스크립트 실행 허용 chmod +x ./load_poi.sh # 워크플로우에서 을 프로덕션 웹후크 URL로 대체하여 스크립트를 실행합니다. ./load_poi.sh <웹훅-URL> |
스크립트는 각 대상 설명에 대한 임베딩을 생성하고 해당 벡터 표현과 함께 Couchbase에 저장합니다.
8단계: 여행사 테스트
이제 다음과 같은 질문을 통해 여행사와 소통할 수 있습니다:
-
- "관광 휴가는 어디로 갈까요?"
- "모험적인 휴가를 원해요"
- "좋은 로맨틱한 여행지는 어디인가요?"
워크플로입니다:
-
- 쿼리를 벡터 임베딩으로 변환하기
- 의미적으로 유사한 대상에 대한 카우치베이스 검색
- LLM을 사용하여 검색된 목적지 정보를 기반으로 응답을 공식화합니다.
다음 단계
이 여행사는 실제로 휴가를 계획하는 데는 실용적이지 않을 수 있지만, n8n의 강력한 워크플로우 툴을 사용하여 데이터베이스에서 데이터를 검색하고 LLM 대화에 사용하는 방법을 효과적으로 보여줍니다.
저희의 벡터 검색 쿡북 에서 다른 벡터 검색 애플리케이션의 예시를 보고 영감을 얻고, Couchbase 검색 벡터 노드를 사용하여 n8n에서 직접 사용해 보세요! 행복한 자동화!