Qdrant
Qdrant — высокопроизводительная vector search engine и vector database, оптимизированная для приложений с embedding/semantic search, recommendation и nearest-neighbor задач. Написан на Rust, доступен как self-hosted server, легковесная версия Edge и как управляемый сервис Qdrant Cloud.
Источник: qdrant на GitHub
Установка и быстрый старт
- Запуск локального сервера в Docker (быстрый старт):
docker run -p 6333:6333 qdrant/qdrant
Обратите внимание: этот запуск не защищён (open to all interfaces). Перед продакшеном изучите раздел security в документации.
Клиенты
Официальные клиенты: Go, [tag/rust], JavaScript/TypeScript, [tag/python], .NET/C#, Java. Есть также community-клиенты (Kotlin, PHP и др.).
Пример использования с Python client:
from qdrant_client import QdrantClient
client = QdrantClient(url="http://localhost:6333")
# создать коллекцию и добавить точку (vector + payload)
client.recreate_collection("my_collection", vector_size=1536, distance="Cosine")
client.upsert(
collection_name="my_collection",
points=[{
"id": 1,
"vector": [0.1, 0.2, ...],
"payload": {"title": "Example"}
}]
)
# поиск похожих
res = client.search("my_collection", query_vector=[...], limit=5)
Основные возможности
- Dense, Sparse и Multi-vector search (поддержка нескольких эмбеддингов на объекте).
- Фильтрация по payload: rich JSON-поиск (keyword, full-text, numeric ranges, geo и т.д.) с
must/should/must_not. - Hybrid search: комбинация семантики и точечного/ключевого поиска с различными стратегиями fusion.
- Vector quantization и on-disk storage: значительная экономия RAM с компромиссом точности.
- Горизонтальное масштабирование: sharding, replication, zero-downtime updates.
- Рекомендации, фасетирование, MMR, relevance feedback, multitenancy.
- SIMD-ускорение, GPU-поддержка для индексирования, async I/O (io_uring) и WAL для устойчивости.
- Web UI для инспекции коллекций и мониторинга.
Архитектура и интерфейсы
- REST API с OpenAPI спецификацией.
- gRPC интерфейс для высокопроизводительных сценариев.
- Qdrant Edge — встроенная, локальная версия для edge/embedded-приложений (встраивается в процесс приложения).
Когда использовать
- Семантический поиск и поиск по эмбеддингам (NLP, recommendation, image search).
- Приложения, где важна фильтрация по метаданным вместе с векторным поиском.
- Сценарии с ограниченной памятью — благодаря квантованию и on-disk хранению.
Ресурсы
- Документация: qdrant.tech — Documentation
- Quick Start: Quick Start guide
- OpenAPI: api.qdrant.tech
- Qdrant Cloud: cloud.qdrant.io
- Репозиторий: qdrant на GitHub
- [lists/bd]
- [notes/weaviate]
- [notes/milvus]
- [notes/chroma]
Лицензия
Apache License 2.0.