• Stars
    star
    16,757
  • Rank 1,557 (Top 0.04 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created almost 4 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Qdrant - High-performance, massive-scale Vector Database for the next generation of AI. Also available in the cloud https://cloud.qdrant.io/

Qdrant

Vector Search Engine for the next generation of AI applications

Tests status OpenAPI Docs Apache 2.0 License Discord Roadmap 2023 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 StartClient LibrariesDemo ProjectsIntegrationsContact

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.

More Repositories

1

fastembed

Fast, Accurate, Lightweight Python library to make State of the Art Embedding
Jupyter Notebook
738
star
2

quaterion

Blazing fast framework for fine-tuning similarity learning models
Python
604
star
3

qdrant-client

Python client for Qdrant vector search engine
Python
537
star
4

awesome-metric-learning

😎 A curated list of awesome practical Metric Learning and its applications
426
star
5

vector-db-benchmark

Framework for benchmarking vector search engines
Python
218
star
6

qdrant-js

JavaScript/Typescript SDK for Qdrant Vector Database
TypeScript
192
star
7

rust-client

Rust client for Qdrant vector search engine
Rust
167
star
8

qdrant-web-ui

Self-hosted web UI for Qdrant
JavaScript
164
star
9

page-search

Neural search for web-sites, docs, articles - online!
Rust
117
star
10

qdrant_demo

Demo of the neural semantic search built with Qdrant
TypeScript
104
star
11

go-client

Go client for Qdrant vector search engine
Shell
99
star
12

qdrant-helm

Go
75
star
13

qdrant-dotnet

Qdrant .Net SDK
C#
67
star
14

examples

A collection of examples and tutorials for Qdrant vector search engine
Jupyter Notebook
61
star
15

qdrant-haystack

An integration of Qdrant ANN vector database backend with Haystack
Python
39
star
16

qdrant-spark

Qdrant Apache Spark connector
Java
38
star
17

quaterion-models

The collection of bulding blocks building fine-tunable metric learning models
Python
30
star
18

ann-filtering-benchmark-datasets

Collection of datasets for benchmarking filtered vector similarity retrieval
Python
24
star
19

demo-food-discovery

Source code of the food discovery demo built on top of Qdrant
TypeScript
23
star
20

qdrant-txtai

An integration of Qdrant ANN vector database backend with txtai
Python
22
star
21

workshop-rag-optimization

Notebooks for RAG optimization workshop, using HackerNews data
Jupyter Notebook
19
star
22

goods_categorization_demo

Demo example of consumer goods categorization
Jupyter Notebook
18
star
23

wal

Write Ahead Logging for Rust
Rust
16
star
24

java-client

Official Java client for Qdrant
Java
13
star
25

landing_page

Landing page for qdrant.tech
CSS
12
star
26

bfb

*high-load* benchmarking tool
Rust
11
star
27

demo-cloud-faq

Demo of fine-tuning QA models for answering FAQ of cloud providers documentation
Python
9
star
28

benchmark

Collection of Qdrant benchmarks
Python
7
star
29

demo-hnm

Jupyter Notebook
5
star
30

qdrant-markdown-indexer

Simple pipeline to index markdown files into Qdrant using OpenAI embeddings
Python
5
star
31

quantization

Rust
5
star
32

autocomplete-openapi

Autocomplete queries using OpenAPI spec
JavaScript
4
star
33

demo-distributed-deployment-docker

An example of setting up the distributed deployment of Qdrant with docker-compose
Shell
4
star
34

contexto

A simple script to solve contexto.me using word embeddings
JavaScript
4
star
35

page-search-js

Web interface for integrated web-site search powered by Qdrant
JavaScript
4
star
36

demo-code-search

Python
3
star
37

haloperidol

Antipsychotic therapy for qdrant cluster
Shell
3
star
38

qdrant_python_client

Qdrant Python client, generated from OpenAPI specification (with minor fixes)
Python
3
star
39

dataset-cloud-platform-faq

HTML
3
star
40

qdrant-qa-workshop

Jupyter Notebook
3
star
41

sparse-vectors-experiments

Rust
3
star
42

qdrant-langchain-qa

HTML
2
star
43

coach

Coach running drills to train qdrant deployments
Rust
2
star
44

rust-parser

Extracts semantics from rust code
Rust
2
star
45

tutorials

This repo contains tutorials, demos, and how-to guides on how to use Qdrant and adjacent technologies.
Jupyter Notebook
1
star
46

demo-qdrant-fiftyone

An example of integrating Qdrant with FiftyOne
Python
1
star
47

sparse-vectors-benchmark

This is a benchmarking tool for Qdrant's sparse vector implementation
Python
1
star