• Stars
    star
    630
  • Rank 71,328 (Top 2 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created about 3 years ago
  • Updated 5 months ago

Reviews

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

Repository Details

Blazing fast framework for fine-tuning similarity learning models

Quaterion

Blazing fast framework for fine-tuning Similarity Learning models

Version Tests status Discord Docs & Tutorials

A dwarf on a giant's shoulders sees farther of the two

Quaterion is a framework for fine-tuning similarity learning models. The framework closes the "last mile" problem in training models for semantic search, recommendations, anomaly detection, extreme classification, matching engines, e.t.c.

It is designed to combine the performance of pre-trained models with specialization for the custom task while avoiding slow and costly training.

Features

  • πŸŒ€ Warp-speed fast: With the built-in caching mechanism, Quaterion enables you to train thousands of epochs with huge batch sizes even on laptop GPU.

Regular vs Cached Fine-Tuning

  • πŸˆβ€ Small data compatible: Pre-trained models with specially designed head layers allow you to benefit even from a dataset you can label in one day.

  • πŸ—οΈ Customizable: Quaterion allows you to re-define any part of the framework, making it flexible even for large-scale and sophisticated training pipelines.

  • 🌌 Scalable: Quaterion is built on top of PyTorch Lightning and inherits all its scalability, cost-efficiency, and reliability perks.

Installation

TL;DR:

For training:

pip install quaterion

For inference service:

pip install quaterion-models

Quaterion framework consists of two packages - quaterion and quaterion-models.

Since it is not always possible or convenient to represent a model in ONNX format (also, it is supported), the Quaterion keeps a very minimal collection of model classes, which might be required for model inference, in a separate package.

It allows avoiding installing heavy training dependencies into inference infrastructure: pip install quaterion-models

At the same time, once you need to have a full arsenal of tools for training and debugging models, it is available in one package: pip install quaterion

Docs πŸ““

For a more in-depth dive, check out our end-to-end tutorials:

Tutorials for advanced features of the framework:

Community

License

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

More Repositories

1

qdrant

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

fastembed

Fast, Accurate, Lightweight Python library to make State of the Art Embedding
Python
1,335
star
3

qdrant-client

Python client for Qdrant vector search engine
Python
709
star
4

awesome-metric-learning

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

vector-db-benchmark

Framework for benchmarking vector search engines
Python
272
star
6

qdrant-js

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

rust-client

Rust client for Qdrant vector search engine
Rust
216
star
8

qdrant-web-ui

Self-hosted web UI for Qdrant
JavaScript
200
star
9

go-client

Go client for Qdrant vector search engine
Go
141
star
10

qdrant_demo

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

page-search

Neural search for web-sites, docs, articles - online!
Rust
124
star
12

qdrant-helm

Go
101
star
13

examples

A collection of examples and tutorials for Qdrant vector search engine
Jupyter Notebook
92
star
14

qdrant-dotnet

Qdrant .Net SDK
C#
87
star
15

bm42_eval

Evaluation of bm42 sparse indexing algorithm
Python
57
star
16

qdrant-haystack

An integration of Qdrant ANN vector database backend with Haystack
Python
42
star
17

qdrant-spark

Qdrant's Apache Spark connector
Java
41
star
18

java-client

Official Java client for Qdrant
Java
37
star
19

qdrant-rag-eval

This repo is the central repo for all the RAG Evaluation reference material and partner workshop
Jupyter Notebook
37
star
20

demo-food-discovery

Source code of the food discovery demo built on top of Qdrant
TypeScript
31
star
21

ann-filtering-benchmark-datasets

Collection of datasets for benchmarking filtered vector similarity retrieval
Python
31
star
22

quaterion-models

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

goods_categorization_demo

Demo example of consumer goods categorization
Jupyter Notebook
25
star
24

wal

Write Ahead Logging for Rust
Rust
25
star
25

qdrant-txtai

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

workshop-rag-optimization

Notebooks for RAG optimization workshop, using HackerNews data
Jupyter Notebook
21
star
27

landing_page

Landing page for qdrant.tech
SCSS
18
star
28

demo-code-search

Python
15
star
29

bfb

*high-load* benchmarking tool
Rust
12
star
30

workshop-ultimate-hybrid-search

Materials for the Ultimate Hybrid Search Workshop
Jupyter Notebook
12
star
31

demo-cloud-faq

Demo of fine-tuning QA models for answering FAQ of cloud providers documentation
Python
11
star
32

benchmark

Collection of Qdrant benchmarks
Python
7
star
33

demo-hnm

Jupyter Notebook
6
star
34

qdrant-markdown-indexer

Simple pipeline to index markdown files into Qdrant using OpenAI embeddings
Python
6
star
35

autocomplete-openapi

Autocomplete queries using OpenAPI spec
JavaScript
6
star
36

mri

A simple tool to monitor process resource usage as frequent as possible
Rust
6
star
37

quantization

Rust
5
star
38

haloperidol

Antipsychotic therapy for qdrant cluster
Shell
5
star
39

demo-midlibrary-explorer-nextjs

Exploration of Midjourney Library styles using Qdrant and NextJS
JavaScript
5
star
40

qdrant-kafka

Kafka Sink connector for Qdrant. Stream vector data into a Qdrant collection. Supports named/unnamed dense/sparse vectors.
Java
5
star
41

page-search-js

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

demo-distributed-deployment-docker

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

qdrant-genkit

Go
4
star
44

contexto

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

sparse-vectors-benchmark

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

api-reference

Repository for Qdrant's API Reference Documentation
Java
4
star
47

qdrant_python_client

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

dataset-cloud-platform-faq

HTML
3
star
49

qdrant-qa-workshop

Jupyter Notebook
3
star
50

sparse-vectors-experiments

Rust
3
star
51

rust-parser

Extracts semantics from rust code
Rust
3
star
52

qdrant-stars-handbook

The primary goal of Qdrant Stars is to recognize, reward, and support our most active and helpful users making significant contributions to the vector search community. The Qdrant Stars Handbook is your go-to resource for navigating the Stars program and how to take the most advantage of it.
3
star
53

rivet-plugin-qdrant

TypeScript
3
star
54

qdrant-langchain-qa

HTML
2
star
55

terraform-provider-qdrant-cloud

A Terraform plugin that allows to manage and configure Qdrant Cloud resources
Go
2
star
56

coach

Coach running drills to train qdrant deployments
Rust
2
star
57

crasher

Crashing the party
Rust
2
star
58

tutorials

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

hybrid-cloud-examples

HCL
1
star
60

demo-qdrant-fiftyone

An example of integrating Qdrant with FiftyOne
Python
1
star
61

template-hybrid-search-fasthtml

A template for a FastHTML app implementing hybrid search with Qdrant
Python
1
star