AI VIDEO BRIEFING

Qdrant 벡터 데이터베이스에 임베딩 저장하기: RAG 실습과 도커 설정 가이드

RAG 파이프라인에서 문서 임베딩을 어디에 저장할까? 이 실습 영상은 오픈소스 벡터 데이터베이스 Qdrant를 도커로 띄우고, 컬렉션·포인트·페이로드 구조로 768차원 임베딩과 원문을 저장하는 과정을 코드와 함께 보여 준다.

RAG 실습: Qdrant 벡터 데이터베이스에 임베딩 저장하기 영상 대표 이미지

핵심 메시지

  • Qdrant는 고차원 벡터(임베딩)를 저장·색인·검색하도록 설계된 오픈소스 벡터 데이터베이스로, 유사도 검색에 최적화돼 RAG에 적합하다.
  • Qdrant에서 데이터는 컬렉션(일반 DB의 테이블에 해당)에 저장되며, 각 문서 조각은 고유 ID·임베딩·페이로드를 가진 '포인트'로 표현된다.
  • 페이로드(메타데이터)에는 원문 텍스트·출처·카테고리를 함께 저장해 빠른 검색과 결과 확인을 돕는다.
  • Qdrant는 도커로 실행하며(맥은 Colima, 윈도우는 Docker Desktop), 6333 포트의 대시보드에서 컬렉션을 확인할 수 있다.
  • 사용자 질의도 임베딩으로 바꿔 코사인 유사도로 매칭하며, 영상에서는 HR 정책 문서를 13개 청크로 나눠 768차원 임베딩으로 저장했다.

쉽게 이해하기

이 세션의 목표는 RAG 파이프라인에서 생성한 임베딩을 벡터 데이터베이스에 저장하는 방법을 익히는 것이다. 앞선 편에서 임베딩을 만드는 법을 다뤘고, 이번에는 오픈소스 벡터 데이터베이스인 Qdrant에 그 임베딩을 저장하는 코드를 작성한다.

Qdrant는 고차원 벡터를 저장·색인·검색하도록 설계됐고 유사도 검색에 최적화돼 RAG와 시맨틱 검색에 적합하다. 문서는 청킹을 거쳐 임베딩 모델로 벡터가 되고, 이 숫자들이 벡터 데이터베이스에 저장된다. Qdrant에서는 데이터가 '컬렉션'에 담기는데 이는 일반 데이터베이스의 테이블에 해당하며, 각 문서 조각은 고유 ID·임베딩·페이로드로 이뤄진 '포인트'로 표현된다. 페이로드에는 원문 텍스트·출처·카테고리를 넣어 빠른 검색과 확인을 돕는다.

실행 환경은 도커로 준비한다. 맥에서는 Colima를, 윈도우에서는 Docker Desktop을 사용하며 영상은 Colima를 brew로 설치해 CPU·메모리를 지정해 띄운다. 이어 Qdrant 이미지를 받아 6333 포트로 컨테이너를 실행하고, localhost 대시보드에 접속해 아직 비어 있는 컬렉션을 확인한다.

코드에서는 requirements에 Qdrant 클라이언트를 추가하고 config에 호스트·포트·컬렉션 이름·벡터 크기를 정의한다. 임베딩 모델(nomic-embed-text)이 768차원을 만들기 때문에 벡터 크기는 768로 지정하고, 컬렉션 생성 시 코사인 유사도를 거리 지표로 설정한다. 이후 청크와 임베딩을 zip으로 묶어 각 항목을 고유 ID·벡터·페이로드(원문 텍스트)로 구성한 포인트로 만들고, upsert로 데이터베이스에 올린다.

실행 결과 HR 정책 문서가 13개 청크로 나뉘어 각각 768차원 임베딩과 함께 컬렉션에 저장됐고, 대시보드에는 상태가 초록색으로 표시된다. 각 포인트는 고유 UUID와 원문 텍스트를 담고 있으며, 그래프 뷰에서 서로 관련된 임베딩(예: 휴가·채용·근로 정책)이 어떻게 연결되는지 확인할 수 있다. 다음 편에서는 저장한 임베딩을 검색·조회하는 방법을 다룬다고 예고한다.

주요 인사이트

  • 임베딩만 저장하지 않고 원문·출처를 페이로드로 함께 두면 검색 결과를 사람이 바로 검증할 수 있다.
  • 벡터 크기(여기선 768)는 사용하는 임베딩 모델에 맞춰 컬렉션 설정에 반드시 지정해야 한다.
  • 유사도 지표로 코사인(distance.cosine)을 사용해 질의 임베딩과 저장된 임베딩을 매칭한다.
  • Qdrant는 컬렉션=테이블, 포인트=행(고유 ID·벡터·페이로드)이라는 익숙한 구조로 벡터 저장을 설명한다.
  • Qdrant 대시보드의 그래프 뷰로 관련 임베딩끼리 어떻게 연결되는지 시각적으로 확인할 수 있다.

자주 묻는 질문

Qdrant에서 컬렉션과 포인트는 무엇인가요?

컬렉션은 일반 데이터베이스의 테이블에 해당하는 저장 단위이고, 포인트는 각 문서 조각을 나타내며 고유 ID·임베딩 벡터·페이로드(원문 등 메타데이터)로 구성된다.

임베딩과 함께 페이로드에 원문을 저장하는 이유는 무엇인가요?

빠른 검색을 돕고, 검색된 벡터가 어떤 텍스트에서 나왔는지 원문·출처·카테고리로 즉시 확인하기 위해서다.

Qdrant는 어떻게 실행하나요?

도커로 실행한다. 맥에서는 Colima, 윈도우에서는 Docker Desktop을 쓰고, Qdrant 이미지를 받아 6333 포트로 컨테이너를 띄운 뒤 localhost 대시보드에서 확인한다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식