Qdrant: как удалить один вектор точки, не удаляя саму запись
На странице · 3 разделов
Чтобы убрать один именованный вектор у существующей точки Qdrant, используйте Delete Vectors с ID точки и именем вектора. Это не удаляет саму точку и не должно затронуть её остальные векторы. Сначала попробуйте на новой учебной коллекции, затем перечитайте точку: настоящий сервер редакция для этой инструкции не запускала.
Технический уровень. Нужны свой работающий Qdrant и терминал. Это инструкция по официальному API (программному интерфейсу) v1.19.x, сверенная 20 октября 2026 года, не домашний рецепт AI-модели и не результат запуска Modelium. Команды направлены на
127.0.0.1(ваш компьютер) и только на новую учебную коллекцию; если сервер требует ключ, не публикуйте его и следуйте настройкам своего сервера. s1 s3
Что исчезнет, а что должно остаться?
Точка — запись с ID (номером записи), числовыми векторами для поиска и дополнительными полями (payload). Здесь у одной учебной точки будут два вектора с именами text и image. Delete Vectors удаляет названный вектор у выбранной точки, сохраняя остальные. Если вам нужно заменить числа в text, а не убрать его, откройте отдельный гайд по Update Vectors. s1 s5
Не путайте эту операцию с удалением самой точки и с удалением имени вектора из всей коллекции — последнее имеет иной API-адрес. Примерные числа ниже не созданы AI-моделью и ничего не говорят о качестве поиска. s1 s6
Как удалить только text у учебной точки?
Если тестовый сервер ещё не запущен, сначала откройте инструкцию по локальному Qdrant. В терминале создайте новую коллекцию для опыта: curl -fsS -X PUT 'http://127.0.0.1:6333/collections/qv_delete_sandbox_20261020' -H 'Content-Type: application/json' -d '{"vectors":{"text":{"size":2,"distance":"Cosine"},"image":{"size":2,"distance":"Cosine"}}}'. curl отправляет запрос вашему локальному серверу. Ожидайте status: ok и result: true. Если имя уже занято, остановитесь: выберите другое новое учебное имя и замените его во всех командах; не трогайте рабочую коллекцию. s3
Добавьте точку ID 1 с двумя игрушечными векторами и меткой: curl -fsS -X PUT 'http://127.0.0.1:6333/collections/qv_delete_sandbox_20261020/points?wait=true' -H 'Content-Type: application/json' -d '{"points":[{"id":1,"vector":{"text":[1,0],"image":[0,1]},"payload":{"label":"учебный"}}]}'. В ответе ожидается result.status: completed (операция завершена); повторная загрузка (Upsert) с тем же ID может изменить существующую запись, поэтому не выполняйте этот шаг на чужих данных. s4 s5
Перечитайте точку до удаления: curl -fsS -X POST 'http://127.0.0.1:6333/collections/qv_delete_sandbox_20261020/points' -H 'Content-Type: application/json' -d '{"ids":[1],"with_vector":true,"with_payload":true}'. В result найдите ID 1, text: [1,0], image: [0,1] и payload.label: учебный. Если хотя бы одного значения нет, не отправляйте запрос удаления. s2
Удалите только text у ID 1: curl -fsS -X POST 'http://127.0.0.1:6333/collections/qv_delete_sandbox_20261020/points/vectors/delete?wait=true' -H 'Content-Type: application/json' -d '{"points":[1],"vector":["text"]}'. Ожидайте result.status: completed; acknowledged означает, что операция принята, но не подтверждает её завершение. Поле запроса здесь называется vector (в единственном числе), хотя в другом руководстве Qdrant показано vectors: закреплённый исходник v1.19.0 принимает оба, а API-схема документирует vector. s1 s5 s7
Повторите точно ту же команду чтения. Для неизменённой учебной коллекции ID 1, image: [0,1] и payload.label: учебный должны сохраниться, а text отсутствовать. Это критерий вашей проверки, не результат теста Modelium. Если чтение не соответствует ожидаемому, остановитесь и проверьте версию сервера, адрес коллекции и ID; не переносите операцию на рабочие данные. s1 s2
Когда нельзя повторять это на рабочих данных?
Удаление убирает одно поисковое представление записи; прежде чем менять рабочую коллекцию, подготовьте и проверьте восстановление резервной копии Qdrant. Не считайте HTTP 200 или completed доказательством сохранности других полей: после операции нужно прочитать именно изменённую точку. Если хотели удалить только дополнительное поле, используйте гайд по payload вместо запроса к векторам. s1 s2
Источники
- Qdrant — Delete vectors, API v1.19.x — Снимок delete-vectors.md и SHA-256 в research/raw/2026-10-20/seo/qdrant-udalit-vektor-tochki/manifest.json. Получено 20.10.2026.
- Qdrant — Retrieve points, API v1.19.x. Получено 20.10.2026.
- Qdrant — Create a collection, API v1.19.x. Получено 20.10.2026.
- Qdrant — Upsert points, API v1.19.x. Получено 20.10.2026.
- Qdrant — Manage data: Points — Документ показывает поле vectors; API-схема показывает vector; закреплённый исходник объясняет совместимость.. Получено 20.10.2026.
- Qdrant — Delete named vector from collection, API v1.19.x. Получено 20.10.2026.
- Qdrant v1.19.0 — DeleteVectors struct, pinned source — revision 74f3e85b9473c62560006c043e13737ce6b48412. Получено 20.10.2026.