Перейти к содержанию
modelium.
Начать с задачи
←

Qdrant Recommend: поиск по примерам «похоже» и «не похоже»

Qdrant Recommend принимает ID похожей и непохожей записи в `positive` и `negative` запроса к `/points/query`. Сервер строит поисковый вектор из этих примеров и возвращает найденные точки с оценками. Ниже — проверяемый учебный пример на отдельной коллекции; это инструкция по документации v1.19.x, а не запуск Qdrant или модели редакцией.

Технический уровень. Нужны работающий Qdrant v1.19.x на своём компьютере и терминал Linux/macOS с curl; это не домашний рецепт установки AI-модели. Инструкция сверена с документацией 19 октября 2026 года. Редакция проверила команды на имитации HTTP-ответов, но не запускала Qdrant и модель. Пример без ключа обращается к 127.0.0.1; не открывайте незащищённый сервер в сеть. s1 s5

Когда полезны два примера вместо одного?

Представьте каталог: один сохранённый объект вам нравится, другой не подходит. Qdrant позволяет передать их ID как положительный (positive) и отрицательный (negative) примеры, чтобы упорядочить похожие записи. Для этого нужна коллекция с уже записанными числовыми векторами — представлениями объектов в виде списков чисел. Метод average_vector строит поисковый вектор из примеров; это ранжирование по близости, не запрет показывать неподходящую категорию и не гарантия качества рекомендаций. Строгие ограничения задаются фильтром, а качество проверяется на своих данных. s1 s2

Как проверить порядок на четырёх искусственных точках?

Сначала подготовьте локальный сервер. В терминале Linux/macOS используйте отдельное свободное имя demo_recommend_20261019; не вводите эти команды для рабочей коллекции. Четыре коротких вектора ниже выдуманы для сравнения чисел: они не описывают настоящие товары и не созданы моделью. Если имя уже занято, придумайте новое и замените его во всех командах. s3 s4

  1. Создайте коллекцию: curl -fsS -X PUT 'http://127.0.0.1:6333/collections/demo_recommend_20261019' -H 'Content-Type: application/json' -d '{"vectors":{"size":2,"distance":"Cosine"}}'. Дождитесь status: ok и result: true; если коллекция уже существует, остановитесь и возьмите другое имя. s3
  2. Сохраните четыре точки: curl -fsS -X PUT 'http://127.0.0.1:6333/collections/demo_recommend_20261019/points?wait=true' -H 'Content-Type: application/json' -d '{"points":[{"id":1,"vector":[1,0]},{"id":2,"vector":[0,1]},{"id":3,"vector":[0.8,0.2]},{"id":4,"vector":[0.2,0.8]}]}'. Дождитесь result.status: completed; повторная запись тех же ID меняет точки, поэтому работайте только с учебной коллекцией. s4
  3. Запросите рекомендации: curl -fsS -X POST 'http://127.0.0.1:6333/collections/demo_recommend_20261019/points/query' -H 'Content-Type: application/json' -d '{"query":{"recommend":{"positive":[1],"negative":[2],"strategy":"average_vector"}},"limit":4,"params":{"exact":true}}'. Найдите массив result.points с ID и score; если видны обе учебные точки-кандидаты, ID 3 ожидается выше ID 4. Это расчётный ориентир: по формуле документации поисковый вектор [2,-1] ближе к [0.8,0.2], чем к [0.2,0.8] при Cosine; живой ответ Qdrant редакция не измеряла. s1 s2

Что проверить, если ответ отличается?

Если ответ пуст, проверьте имя коллекции и подтверждение записи четырёх точек. Если пришла ошибка, сверяйте размерность size: 2, существование ID 1 и 2 и форму query.recommend, а не одиночное query: 1. На защищённом сервере используйте его предусмотренный ключ и не публикуйте его в примере; тестовый адрес клиента не доказывает, что сам сервер закрыт от других устройств. Даже удачный учебный порядок не заменяет проверки релевантности на настоящих объектах. Сравните этот подход с поиском по одному ID и используйте фильтр метаданных, если нужно строго исключать категории. s1 s2 s5

Источники

  1. Qdrant API v1.19.x — Query points. Получено 19.10.2026.
  2. Qdrant — Explore: Recommendation API. Получено 19.10.2026.
  3. Qdrant API v1.19.x — Create a collection. Получено 19.10.2026.
  4. Qdrant API v1.19.x — Upsert points. Получено 19.10.2026.
  5. Qdrant — Local Quickstart. Получено 19.10.2026.