Qdrant Recommend: поиск по примерам «похоже» и «не похоже»
На странице · 3 разделов
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
- Создайте коллекцию:
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 - Сохраните четыре точки:
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 - Запросите рекомендации:
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; если видны обе учебные точки-кандидаты, ID3ожидается выше ID4. Это расчётный ориентир: по формуле документации поисковый вектор[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
Источники
- Qdrant API v1.19.x — Query points. Получено 19.10.2026.
- Qdrant — Explore: Recommendation API. Получено 19.10.2026.
- Qdrant API v1.19.x — Create a collection. Получено 19.10.2026.
- Qdrant API v1.19.x — Upsert points. Получено 19.10.2026.
- Qdrant — Local Quickstart. Получено 19.10.2026.