Connect a Kotlin backend to a Qdrant vector database for AI search features.
Build a retrieval-augmented-generation service using the included example-rag project.
Filter and search stored embeddings by text, numbers, dates, or location.
Replace the official heavier Java Qdrant client in a Kotlin application to cut dependency size.
| nacode-studios/kdrant | mfori/bit-aes | shanraisshan/google-huawei-flavor-buildtypes | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Kotlin | Kotlin | Kotlin |
| Last pushed | — | 2020-05-11 | 2022-08-20 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a running Qdrant instance, easiest via Docker, plus JDK 17 or newer.
Kdrant is a Kotlin library for talking to Qdrant, a database built specifically for storing and searching vectors, the kind of numeric representations produced by AI embedding models. Qdrant already has an official Java client, but it returns results in a Java style future object, builds requests with verbose protobuf objects, and pulls in a large networking stack. Kdrant is meant to feel natural to write in Kotlin instead, using Kotlin's built in coroutines so calls can pause and resume without blocking a thread, a builder style syntax for constructing requests, and a much smaller set of dependencies. Important to note, Kdrant does not generate the vectors itself. A separate embedding model produces those numbers, and Kdrant simply stores them in Qdrant and lets a program search for the closest matches later. The project includes a runnable example called example-rag that shows the full pattern end to end: taking in text, turning it into embeddings, storing it, and retrieving it again, with a ready to run setup for Qdrant included. The library covers the practical parts of working with Qdrant: creating and deleting collections, inserting or updating points in bulk, searching with a flexible filter system that can match text, numbers, dates, and geographic locations, and handling errors as clearly typed exceptions rather than generic ones. It automatically splits very large batches of inserts so requests do not exceed Qdrant's size limits. Compared to the official client, Kdrant trades away raw network speed, since it uses plain web requests instead of the faster gRPC protocol, in exchange for a dependency footprint of only a few megabytes instead of fifteen to twenty. For most search and retrieval style workloads, that tradeoff favors Kdrant, for very high throughput streaming needs, the official client is still the better choice. Kdrant requires Java 17 or newer and is installed as a single dependency through Maven Central. The project is released under the Apache 2.0 license, which permits free use, including commercial use.
A Kotlin-friendly client library for the Qdrant vector database, letting Kotlin programs store and search AI embeddings with a small footprint and coroutine-based code.
Mainly Kotlin. The stack also includes Kotlin, Ktor, kotlinx-serialization.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.