Vectorize
개요
Vectorize는 Cloudflare의 벡터 데이터베이스입니다. 임베딩(텍스트, 이미지 또는 기타 데이터의 의미를 담아낸 숫자 목록)을 저장하고, 주어진 벡터와 가장 유사한 것들을 쿼리합니다. 시맨틱 검색과 검색 증강 생성(RAG)에서 검색을 담당하는 절반에 해당하며, 임베딩을 생성할 수 있는 Workers AI와 함께 Worker에 직접 바인딩됩니다.
강점
- 임베딩에 대한 유사도 검색을 위해 특별히 설계되었으며, 빠른 최근접 이웃(nearest-neighbor) 쿼리 제공.
- Workers에 바로 바인딩 — 별도로 운영할 벡터 서비스가 필요 없음.
- Workers AI와 매끄럽게 결합되어 Cloudflare에서 엔드투엔드 RAG 파이프라인 구성.
- 메타데이터 필터링을 지원하여 결과 범위를 좁힐 수 있음.
- 서버리스이며 전 세계에서 사용 가능하고, 앱과 함께 확장.
트레이드오프
- 원본 문서가 아닌 벡터와 메타데이터를 저장 — 원본은 D1이나 R2에 보관해야 함.
- 삽입하기 전에 임베딩을 직접 생성해야 함(예: Workers AI 사용).
- 인덱스 차원과 거리 측정 방식은 생성 시점에 고정됨 — 신중하게 선택해야 함.
- 범용 데이터베이스가 아닌 특화된 스토어.
언제 쓰면 좋은가
시맨틱 검색, 추천, 중복 제거, 그리고 RAG의 검색 단계에 Vectorize를 사용하세요. "이것과 가장 유사한 것을 찾기"가 정확한 키워드 일치보다 나은 모든 경우에 적합합니다.
바이브 코딩 적합성
Vectorize를 사용하면 에이전트가 Cloudflare를 벗어나지 않고도 완전한 RAG 기능을 구축할 수 있습니다. Workers AI가 임베딩을 만들고, Vectorize가 이를 저장하고 검색하며, D1이나 R2가 원본을 보관합니다. 인덱스 차원은 임베딩 모델의 출력과 일치해야 하므로 에이전트에게 임베딩 모델을 미리 알려주세요. 아래 예시는 인덱스를 생성하고 바인딩합니다.
# wrangler.toml
[[vectorize]]
binding = "VECTORIZE"
index_name = "docs-index"
# 차원은 임베딩 모델의 출력과 일치해야 합니다
npx wrangler vectorize create docs-index --dimensions=768 --metric=cosine