~/VibeHandbook

Cloudflare

developers.cloudflare.com

Vectorize

Что это

Vectorize — это векторная база данных Cloudflare. Вы храните эмбеддинги — списки чисел, которые отражают смысл текста, изображений или других данных, — и выполняете поиск тех, что наиболее похожи на заданный вектор. Это поисковая половина семантического поиска и генерации с дополненной выборкой (RAG), и она привязывается напрямую к Worker рядом с Workers AI, который может создавать эмбеддинги.

Сильные стороны

  • Создана специально для поиска по сходству на основе эмбеддингов, с быстрыми запросами ближайших соседей.
  • Привязывается прямо к Workers; не нужно поддерживать отдельный векторный сервис.
  • Аккуратно сочетается с Workers AI для сквозного RAG-конвейера на Cloudflare.
  • Поддерживает фильтрацию по метаданным, чтобы можно было ограничивать выборку результатов.
  • Бессерверная и доступна глобально, масштабируется вместе с вашим приложением.

Компромиссы

  • Она хранит векторы и метаданные, а не ваши исходные документы — держите их в D1 или R2.
  • Эмбеддинги нужно генерировать самостоятельно (например, через Workers AI) перед вставкой.
  • Размерность индекса и метрика расстояния фиксируются при создании — выбирайте внимательно.
  • Это специализированное хранилище, а не база данных общего назначения.

Когда использовать

Используйте Vectorize для семантического поиска, рекомендаций, дедупликации и этапа выборки в RAG — всякий раз, когда «найти то, что наиболее похоже на это» лучше точного совпадения по ключевым словам.

Подходит для vibe coding

Vectorize позволяет агенту построить полноценную RAG-функцию, не покидая Cloudflare: Workers AI создаёт эмбеддинги, Vectorize хранит их и ищет, а D1 или R2 хранят оригиналы. Сообщите агенту модель эмбеддингов заранее, потому что размерность индекса должна совпадать с выводом этой модели. В примере создаётся индекс и выполняется его привязка.

# wrangler.toml
[[vectorize]]
binding = "VECTORIZE"
index_name = "docs-index"
# Размерность должна совпадать с выводом вашей модели эмбеддингов
npx wrangler vectorize create docs-index --dimensions=768 --metric=cosine