explaingit

nacode-studios/kdrant

Analysis updated 2026-05-18

1KotlinAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

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.

Mindmap

mindmap
  root((Kdrant))
    What it does
      Kotlin client for Qdrant
      Stores and searches vectors
      Coroutine based calls
    Tech stack
      Kotlin
      Ktor
      kotlinx-serialization
      Qdrant
    Use cases
      RAG services
      Vector search
      Filtered queries
    Audience
      Kotlin developers
      AI backend engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Connect a Kotlin backend to a Qdrant vector database for AI search features.

USE CASE 2

Build a retrieval-augmented-generation service using the included example-rag project.

USE CASE 3

Filter and search stored embeddings by text, numbers, dates, or location.

USE CASE 4

Replace the official heavier Java Qdrant client in a Kotlin application to cut dependency size.

What is it built with?

KotlinKtorkotlinx-serializationQdrantcoroutines

How does it compare?

nacode-studios/kdrantmfori/bit-aesshanraisshan/google-huawei-flavor-buildtypes
Stars111
LanguageKotlinKotlinKotlin
Last pushed2020-05-112022-08-20
MaintenanceDormantDormant
Setup difficultymoderatemoderatemoderate
Complexity3/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a running Qdrant instance, easiest via Docker, plus JDK 17 or newer.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

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.

Copy-paste prompts

Prompt 1
Help me set up Kdrant to connect to a local Qdrant instance running in Docker.
Prompt 2
Write Kotlin code using Kdrant to create a collection and upsert vector embeddings with payload data.
Prompt 3
Show me how to build a filter query with Kdrant's DSL to search only English-language articles from 2024 onward.
Prompt 4
Explain how to run the example-rag project included in this repo end to end.
Prompt 5
Compare using Kdrant versus the official Qdrant Java client for my Kotlin project.

Frequently asked questions

What is kdrant?

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.

What language is kdrant written in?

Mainly Kotlin. The stack also includes Kotlin, Ktor, kotlinx-serialization.

What license does kdrant use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is kdrant to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is kdrant for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.