Giter Site home page Giter Site logo

smarthi / qdrant Goto Github PK

View Code? Open in Web Editor NEW

This project forked from qdrant/qdrant

0.0 2.0 0.0 1.61 MB

Qdrant - vector similarity search engine with extended filtering support

Home Page: https://qdrant.tech

License: Apache License 2.0

Rust 97.75% Shell 1.43% Dockerfile 0.12% JavaScript 0.70%

qdrant's Introduction

Qdrant

Vector Similarity Search Engine with extended filtering support

Telegram

Qdrant (read: quadrant ) is a vector similarity search engine. 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 reliable even under high load.

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

Demo Projects

Semantic Text Search πŸ”

The neural search uses semantic embeddings instead of keywords and works best with short texts. With Qdrant and a pre-trained neural network, you can build and deploy semantic neural search on your data in minutes. Try it online!

Similar Image Search - Food Discovery πŸ•

There are multiple ways to discover things, text search is not the only one. In the case of food, people rely more on appearance than description and ingredients. So why not let people choose their next lunch by its appearance, even if they don’t know the name of the dish? Check it out!

Extreme classification - E-commerce Product Categorization πŸ“Ί

Extreme classification is a rapidly growing research area within machine learning focusing on multi-class and multi-label problems involving an extremely large number of labels. Sometimes it is millions and tens of millions classes. The most promising way to solve this problem is to use similarity learning models. We put together a demo example of how you could approach the problem with a pre-trained transformer model and Qdrant. So you can play with it online!

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

API

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

You can also download raw OpenAPI definitions.

Features

Filtering

Qdrant supports key-value payload associated with vectors. It does not only store payload but also allows filter results based on payload values. It allows any combinations of should, must, and must_not conditions, but unlike ElasticSearch post-filtering, Qdrant guarantees all relevant vectors are retrieved.

Rich data types

Vector payload supports a large variety of data types and query conditions, including string matching, numerical ranges, geo-locations, and more. Payload filtering conditions allow you to build almost any custom business logic that should work on top of similarity matching.

Query planning and payload indexes

Using the information about the stored key-value data, the query planner decides on the best way to execute the query. For example, if the search space limited by filters is small, it is more efficient to use a full brute force than an index.

SIMD Hardware Acceleration

With the BLAS library, Qdrant can take advantage of modern CPU architectures. It allows you to search even faster on modern hardware.

Write-ahead logging

Once the service confirmed an update - it won't lose data even in case of power shut down. All operations are stored in the update journal and the latest database state could be easily reconstructed at any moment.

Stand-alone

Qdrant does not rely on any external database or orchestration controller, which makes it very easy to configure.

Usage

Docker 🐳

Build your own from source

docker build . --tag=generall/qdrant

Or use latest pre-built image from DockerHub

docker pull generall/qdrant

To run container use command:

docker run -p 6333:6333 \
    -v $(pwd)/path/to/data:/qdrant/storage \
    -v $(pwd)/path/to/custom_config.yaml:/qdrant/config/production.yaml \
    generall/qdrant
  • /qdrant/storage - is a place where Qdrant persists all your data. Make sure to mount it as a volume, otherwise docker will drop it with the container.
  • /qdrant/config/production.yaml - is the file with engine configuration. You can override any value from the reference config

Now Qdrant should be accessible at localhost:6333

Docs πŸ““

Contacts

Contributors ✨

Thanks to the people who contributed to Qdrant:


Andrey Vasnetsov

πŸ’»

Andre Zayarni

πŸ“–

Joan Fontanals

πŸ’»

trean

πŸ’»

Konstantin

πŸ’»

Daniil Naumetc

πŸ’»

Viacheslav Poturaev

πŸ“–

Alexander Galibey

πŸ’»

HaiCheViet

πŸ’»

Marcin Puc

πŸ’»

Anton V.

πŸ’»

Arnaud Gourlay

πŸ’»

License

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

qdrant's People

Contributors

agourlay avatar allcontributors[bot] avatar anveq avatar azayarni avatar dependabot[bot] avatar galibey avatar generall avatar haicheviet avatar joanfm avatar kekonen avatar kgrech avatar tranzystorekk avatar trean avatar vearutop avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.