# Qdrant: ошибка размерности вектора — что проверить

Источник: https://modelium.tech/zhurnal/qdrant-vector-dimension-error/

При ошибке размерности сравните число координат отправленного вектора с полем size нужной коллекции Qdrant. Эти числа должны совпадать для выбранного имени вектора. Не пересоздавайте рабочую коллекцию вслепую: сначала проверьте, какая модель и настройка кодирования сформировали массив, затем повторите запись на отдельной учебной коллекции.

Qdrant отклоняет запись вектора из-за его размерности? **Размерность** — это количество чисел в массиве, который модель создаёт для поиска. Коллекция — место хранения таких записей — ожидает заданное число координат. Ниже можно воспроизвести несовпадение **только в новой учебной коллекции**, не трогая документы и настройки рабочей. [s1](#src-s1) [s2](#src-s2) [s4](#src-s4)

**Инструкция по документации, 20 октября 2026 года.** Нужен уже запущенный собственный Qdrant с локальным адресом `127.0.0.1:6333`, терминал с `curl` и доступ на создание учебной коллекции. Это **инженерная диагностика**, не установка модели дома. Редакция сверила официальные API и проверила форму команд на синтетическом HTTP-сервере, но не запускала настоящий Qdrant или AI-модель. [s2](#src-s2) [s3](#src-s3) [s4](#src-s4)

## Как увидеть несовпадение на безопасном примере?

- Сначала убедитесь, что имя учебной коллекции ещё не занято: `curl -sS -i 'http://127.0.0.1:6333/collections/demo_dim_20261020'`. Для отсутствующей коллекции ожидайте HTTP 404. **Если ответ 200 — остановитесь; не записывайте туда ничего.** Выберите другое уникальное имя и одинаково замените его во всех следующих командах. На сервере с API-ключом понадобится предусмотренная им авторизация; не отключайте защиту ради опыта. [s3](#src-s3)

- Создайте **только новую** коллекцию с размерностью `3`: `curl -sS -X PUT 'http://127.0.0.1:6333/collections/demo_dim_20261020' -H 'Content-Type: application/json' -d '{"vectors":{"size":3,"distance":"Cosine"}}'`. Ожидайте `status: ok` и `result: true`; при ошибке не переходите к записи. Число `3` годится **только для искусственных координат**, не для векторов настоящей текстовой модели. [s2](#src-s2)

- Прочитайте её настройки: `curl -sS 'http://127.0.0.1:6333/collections/demo_dim_20261020'`. В ответе проверьте `result.config.params.vectors.size`: здесь должно быть `3`. Если работаете с именованными векторами, сначала выберите **точное имя**, затем смотрите `size` именно под ним — нельзя сравнивать с соседним полем. [s1](#src-s1) [s3](#src-s3)

- Отправьте заведомо неподходящий **двухэлементный** вектор: `curl -sS -i -X PUT 'http://127.0.0.1:6333/collections/demo_dim_20261020/points?wait=true' -H 'Content-Type: application/json' -d '{"points":[{"id":1,"vector":[0.1,0.2]}]}'`. Ожидайте отказ сервера: длина массива `2` не равна настроенной `3`. Точный текст ошибки и код ответа сверяйте на своей версии, мы не воспроизводили их на живом сервере. Если запись неожиданно принята, остановитесь и выясните причину, не применяйте пример к рабочим данным. [s1](#src-s1) [s4](#src-s4)

- Теперь отправьте **трёхэлементный** искусственный вектор в ту же учебную коллекцию: `curl -sS -X PUT 'http://127.0.0.1:6333/collections/demo_dim_20261020/points?wait=true' -H 'Content-Type: application/json' -d '{"points":[{"id":1,"vector":[0.1,0.2,0.3]}]}'`. Ожидайте подтверждение операции, затем прочитайте ID 1: `curl -sS 'http://127.0.0.1:6333/collections/demo_dim_20261020/points/1'`. Сверьте `result.id` и наличие вектора; при хранении с метрикой Cosine числа могут быть нормализованы, поэтому не требуйте побуквенного совпадения координат. Этот опыт проверяет **форму запроса**, а не качество поиска текста. [s1](#src-s1) [s4](#src-s4) [s5](#src-s5)

## Как исправить свою запись, не повредив рабочую коллекцию?

Прочитайте конфигурацию **своей** коллекции таким же запросом на чтение, но с её настоящим именем; сначала измерьте длину **реального выходного массива** приложения и варианта embedding-модели — модели, превращающей текст в числа для поиска. Сравните её с `size` для нужного имени вектора, затем проверьте, что запросы к поиску кодируются совместимым образом. Например, авторская карточка **Qwen3-Embedding-0.6B** указывает максимум `1024`, но модель поддерживает уменьшенную размерность: название модели само по себе не доказывает длину именно вашего ответа. [s1](#src-s1) [s3](#src-s3) [s6](#src-s6)

Если числа не совпали, исправляйте **конфигурацию генерации** или готовьте новую отдельную коллекцию под фактическую размерность и переиндексируйте документы совместимой моделью. Не обрезайте и не дополняйте массив нулями «для прохода проверки»: это не подтверждает, что поиск сохраняет смысл. Не удаляйте и не пересоздавайте действующую коллекцию по этой инструкции. Размер скачанных весов не даёт минимальную RAM/VRAM для запуска модели; память и качество поиска здесь редакцией не измерялись. [s1](#src-s1) [s6](#src-s6)

Если после совпадения чисел поиск по-прежнему плох, это уже **другая проверка**: размерность удостоверяет форму данных, но не правильность модели, текста или метрики. Следующий шаг — [сверить конкретный вариант embedding-модели](/zhurnal/qwen3-embedding/) и проверить результат на собственных вопросах и документах. [s1](#src-s1) [s6](#src-s6)

## Источники

1. [Qdrant — Collections: размерность и named vectors](https://qdrant.tech/documentation/manage-data/collections/) — получено 2026-10-20
2. [Qdrant API — Create a collection](https://api.qdrant.tech/api-reference/collections/create-collection) — получено 2026-10-20
3. [Qdrant API — Get collection details](https://api.qdrant.tech/api-reference/collections/get-collection) — получено 2026-10-20
4. [Qdrant API — Upsert points](https://api.qdrant.tech/api-reference/points/upsert-points) — получено 2026-10-20
5. [Qdrant API — Retrieve a point](https://api.qdrant.tech/api-reference/points/get-point) — получено 2026-10-20
6. [Qwen — карточка Qwen3-Embedding-0.6B на закреплённой ревизии](https://huggingface.co/Qwen/Qwen3-Embedding-0.6B/blob/97b0c614be4d77ee51c0cef4e5f07c00f9eb65b3/README.md) — получено 2026-10-20
