Qdrant API на YDB
Совместимый с Qdrant REST API с однофазным top‑k поиском на YDB с перестраивающимся векторным индексом.
Быстрый старт
Настройка в Roo Code/Kilo Code
Варианты
- Самостоятельный хостинг: http://localhost:8080
- Публичная демо‑версия: http://ydb-qdrant.tech:8080 (общий доступ)
Документация
Самостоятельный хостинг
- Клонируйте репозиторий и установите зависимости:
npm install - Укажите переменные окружения:
YDB_ENDPOINT,YDB_DATABASE - Настройте аутентификацию через переменные окружения:
YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS|YDB_METADATA_CREDENTIALS|YDB_ACCESS_TOKEN_CREDENTIALS|YDB_ANONYMOUS_CREDENTIALS - Запустите:
npm run dev(разработка) илиnpm start(прод) - Укажите клиенту базовый URL:
http://localhost:8080
Подробнее: GitHub README
Назначение
Используйте как базовый URL Qdrant для IDE‑агентов или приложений; векторы хранятся в YDB.
Особенности
- Совместимые с Qdrant эндпоинты
- Однофазный top‑k с векторным индексом YDB (авто); фоллбек — скан таблицы
- Разделение данных по арендаторам
- Самохостинг или публичная демо‑версия
Пример
curl -X PUT http://localhost:8080/collections/mycol \
-H 'Content-Type: application/json' \
-d '{"vectors":{"size":384,"distance":"Cosine","data_type":"float"}}'
curl -X POST http://localhost:8080/collections/mycol/points/upsert \
-H 'Content-Type: application/json' \
-d '{"points":[{"id":"1","vector":[0.1,0.2,...384 vals...]}]}'
curl -X POST http://localhost:8080/collections/mycol/points/search \
-H 'Content-Type: application/json' \
-d '{"vector":[0.1,0.2,...],"limit":5,"with_payload":true}'
Проверка состояния: GET /health → {"status":"ok"}