Qdrant: отсеять слабые совпадения по порогу
На странице · 3 разделов
Параметр score_threshold убирает из ответа Qdrant результаты с оценкой хуже выбранного порога. В учебной коллекции ниже два искусственных вектора: сравните выдачу до и после ограничения. Это инженерный пример по документации v1.19.x, а не проверка качества вашей модели или реальный запуск Qdrant редакцией.
Технический уровень. Нужны уже работающий собственный Qdrant v1.19.x и терминал Linux/macOS с
curl; это не домашний рецепт установки AI-модели. Инструкция сверена с документацией 19 октября 2026 года. Редакция не запускала Qdrant: команды и ожидаемые ID проверены только на учебной HTTP-фикстуре. Запросы идут к127.0.0.1; пример без API-ключа не подходит защищённому серверу. Не открывайте незащищённый Qdrant в сеть. s1 s5
Зачем нужен порог оценки?
Представьте поиск по своим заметкам: даже слабое совпадение может оказаться в списке. Qdrant присваивает найденной записи оценку (score); параметр score_threshold исключает результат с оценкой хуже заданного порога. Вектор — числовое представление записи, а метрика — способ сравнения таких векторов. Число порога не является универсальной мерой качества текста: оно зависит от векторов и выбранной метрики. Для метрики Euclidean большая дистанция хуже, поэтому направление отсечения отличается. Для рабочих документов порог выбирают на своих размеченных вопросах, проверяя также полезные записи, которые могли пропасть. s1 s2
Как сравнить поиск с порогом и без него?
Сначала подготовьте локальный Qdrant. Проверьте, что имя demo_score_20261019 свободно: команды создают коллекцию и записывают точки; на чужой или рабочей коллекции их не выполняйте. Размер вектора 2 и оба вектора ниже — искусственный пример, не характеристики реальной модели и не смысловые представления текста. Если меняете имя, замените его в каждой команде. s3 s4
- Создайте учебную коллекцию с метрикой Cosine:
curl -fsS -X PUT 'http://127.0.0.1:6333/collections/demo_score_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_score_20261019/points?wait=true' -H 'Content-Type: application/json' -d '{"points":[{"id":1,"vector":[1,0],"payload":{"note":"same"}},{"id":2,"vector":[0,1],"payload":{"note":"different"}}]}'. Ожидаютсяstatus: okиresult.status: completed. Повторная запись существующего ID перезапишет точку. s4 - Запросите оба результата без порога:
curl -fsS -X POST 'http://127.0.0.1:6333/collections/demo_score_20261019/points/query' -H 'Content-Type: application/json' -d '{"query":[1,0],"limit":2,"with_payload":true,"params":{"exact":true}}'. Для заданных векторов вresult.pointsожидаются ID1и2;exact: trueотключает приближённый поиск для этого теста. Это вывод для учебных данных, не снятый редакцией ответ работающего Qdrant. s1 - Добавьте порог:
curl -fsS -X POST 'http://127.0.0.1:6333/collections/demo_score_20261019/points/query' -H 'Content-Type: application/json' -d '{"query":[1,0],"limit":2,"score_threshold":0.5,"with_payload":true,"params":{"exact":true}}'. С векторами из шага 2 вresult.pointsожидается только ID1; ID2с ортогональным вектором должен быть исключён. Это критерий учебного опыта, не рекомендация ставить0.5для ваших документов. s1 s2
Что проверить, если список пуст?
Сверьте имя коллекции и размерность запроса с записанными векторами. Убедитесь, что без score_threshold точки вообще возвращаются; затем понижайте порог только для этой Cosine-коллекции и сравнивайте оценки. В иной метрике направление отсечения может быть противоположным. Порог оценки не управляет правами пользователя и не заменяет фильтр по полям: доступ к чужим данным проверяют отдельно. Даже если учебные ID совпали, правильность поиска по реальным документам ещё нужно проверить вручную на собственных вопросах. s1 s2
Источники
- Qdrant API v1.19.x — Query points. Получено 19.10.2026.
- Qdrant — Search: Filtering Results by Score. Получено 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 — Quickstart: безопасность локального сервера. Получено 19.10.2026.