Skip to content
forked from qdrant/qdrant

Qdrant - vector similarity search engine with extended filtering support

License

Notifications You must be signed in to change notification settings

IvanPleshkov/qdrant

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Qdrant

Vector Search Engine for the next generation of AI applications

Tests status OpenAPI Docs Apache 2.0 License Discord Roadmap 2024 Qdrant Cloud

Qdrant (read: quadrant) is a vector similarity search engine and vector database. It provides a production-ready service with a convenient API to store, search, and manage pointsβ€”vectors with an additional payload Qdrant is tailored to extended filtering support. It makes it useful for all sorts of neural-network or semantic-based matching, faceted search, and other applications.

Qdrant is written in Rust πŸ¦€, which makes it fast and reliable even under high load. See benchmarks.

With Qdrant, embeddings or neural network encoders can be turned into full-fledged applications for matching, searching, recommending, and much more!

Qdrant is also available as a fully managed Qdrant Cloud β›… including a free tier.

Quick Start β€’ Client Libraries β€’ Demo Projects β€’ Integrations β€’ Contact

Getting Started

Python

pip install qdrant-client

The python client offers a convenient way to start with Qdrant locally:

from qdrant_client import QdrantClient
qdrant = QdrantClient(":memory:") # Create in-memory Qdrant instance, for testing, CI/CD
# OR
client = QdrantClient(path="path/to/db")  # Persists changes to disk, fast prototyping

Client-Server

This is the recommended method for production usage. To run the container, use the command:

docker run -p 6333:6333 qdrant/qdrant

Now you can connect to this with any client, including Python:

qdrant = QdrantClient("http://localhost:6333") # Connect to existing Qdrant instance, for production

Clients

Qdrant offers the following client libraries to help you integrate it into your application stack with ease:

Where do I go from here?

Demo Projects

Discover Semantic Text Search πŸ”

Unlock the power of semantic embeddings with Qdrant, transcending keyword-based search to find meaningful connections in short texts. Deploy a neural search in minutes using a pre-trained neural network, and experience the future of text search. Try it online!

Explore Similar Image Search - Food Discovery πŸ•

There's more to discovery than text search, especially when it comes to food. People often choose meals based on appearance rather than descriptions and ingredients. Let Qdrant help your users find their next delicious meal using visual search, even if they don't know the dish's name. Check it out!

Master Extreme Classification - E-commerce Product Categorization πŸ“Ί

Enter the cutting-edge realm of extreme classification, an emerging machine learning field tackling multi-class and multi-label problems with millions of labels. Harness the potential of similarity learning models, and see how a pre-trained transformer model and Qdrant can revolutionize e-commerce product categorization. Play with it online!

More solutions
Semantic Text Search Similar Image Search Recommendations
Chat Bots Matching Engines Anomaly Detection

API

REST

Online OpenAPI 3.0 documentation is available here. OpenAPI makes it easy to generate a client for virtually any framework or programming language.

You can also download raw OpenAPI definitions.

gRPC

For faster production-tier searches, Qdrant also provides a gRPC interface. You can find gRPC documentation here.

Features

Filtering and Payload

Qdrant enables JSON payloads to be associated with vectors, providing both storage and filtering based on payload values. It supports various combinations of should, must, and must_not conditions, ensuring retrieval of all relevant vectors unlike ElasticSearch post-filtering.

Rich Data Types

The vector payload accommodates diverse data types and query conditions, including string matching, numerical ranges, geo-locations, and more. These filtering conditions empower you to create custom business logic on top of similarity matching.

Query Planning and Payload Indexes

The query planner leverages stored payload information to optimize query execution. For instance, smaller search spaces limited by filters might benefit from full brute force over an index.

SIMD Hardware Acceleration

Utilizing modern CPU x86-x64 architectures, Qdrant delivers faster search performance on modern hardware.

Write-Ahead Logging

Qdrant ensures data persistence with update confirmation, even during power outages. The update journal stores all operations, enabling effortless reconstruction of the latest database state.

Distributed Deployment

As of v0.8.0, Qdrant supports distributed deployment. Multiple Qdrant machines form a cluster for horizontal scaling, coordinated through the Raft protocol.

Stand-alone

Qdrant operates independently, without reliance on external databases or orchestration controllers, simplifying configuration.

Integrations

Examples and/or documentation of Qdrant integrations:

Contacts

Contributors ✨

Thanks to the people who contributed to Qdrant:

Andrey Vasnetsov
Andrey Vasnetsov

πŸ’»
Andre Zayarni
Andre Zayarni

πŸ“–
Joan Fontanals
Joan Fontanals

πŸ’»
trean
trean

πŸ’»
Konstantin
Konstantin

πŸ’»
Daniil Naumetc
Daniil Naumetc

πŸ’»
Viacheslav Poturaev
Viacheslav Poturaev

πŸ“–
Alexander Galibey
Alexander Galibey

πŸ’»
HaiCheViet
HaiCheViet

πŸ’»
Marcin Puc
Marcin Puc

πŸ’»
Anton V.
Anton V.

πŸ’»
Arnaud Gourlay
Arnaud Gourlay

πŸ’»
Egor Ivkov
Egor Ivkov

πŸ’»
Ivan Pleshkov
Ivan Pleshkov

πŸ’»
Daniil
Daniil

πŸ’»
Anton Kaliaev
Anton Kaliaev

πŸ’»
Andre Julius
Andre Julius

πŸ’»
Prokudin Alexander
Prokudin Alexander

πŸ’»
Tim Eggert
Tim Eggert

πŸ’»
Gabriel Velo
Gabriel Velo

πŸ’»
Boqin Qin(秦 δΌ―ι’¦)
Boqin Qin(秦 δΌ―ι’¦)

πŸ›
Russ Cam
Russ Cam

πŸ’»
erare-humanum
erare-humanum

πŸ’»
Roman Titov
Roman Titov

πŸ’»
Hozan
Hozan

πŸ’»
George
George

πŸ’»
KornΓ©l Csernai
KornΓ©l Csernai

πŸ’»
Luis CossΓ­o
Luis CossΓ­o

πŸ’»
Tim VisΓ©e
Tim VisΓ©e

πŸ’»
Timon Vonk
Timon Vonk

πŸ’»
Yiping Deng
Yiping Deng

πŸ’»
Alex Huang
Alex Huang

πŸ’»
Ibrahim M. Akrab
Ibrahim M. Akrab

πŸ’»
stencillogic
stencillogic

πŸ’»
Moaz bin Mokhtar
Moaz bin Mokhtar

πŸ“–

License

Qdrant is licensed under the Apache License, Version 2.0. View a copy of the License file.

About

Qdrant - vector similarity search engine with extended filtering support

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 87.7%
  • Python 10.3%
  • Shell 1.6%
  • Other 0.4%