DEV Community

RagLeap
RagLeap

Posted on

ragleap-rag-java v0.9.0: Adding Milvus as 5th Vector Backend Without a Live Cluster

We just shipped ragleap-rag-java v0.9.0 to Maven Central.

Maven Central stats for September alone:

  • 736 total downloads
  • 55 unique sources
  • 21 companies

And this release adds our 5th vector backend: Milvus.

We now support: PgVector, FaissBackend, QdrantBackend, WeaviateBackend, and now MilvusBackend.

Why Milvus was tricky

Unlike Qdrant/Weaviate, Milvus self-hosting needs 3 services: etcd, MinIO, milvus-standalone. On my current VPS with existing CPU contention, that's too resource-risky.

So I did what I did for the Python version — be honest about it.

What I actually did

  1. Fetched and read Milvus REST v2 API docs directly — not from memory.
  2. Built MilvusBackend against the real spec.
  3. No UUID indirection needed: Milvus VarChar primary key accepts documentId:chunkIndex directly. Simpler than other backends.
  4. 18 new tests via local HTTP stub server — same pattern this codebase uses for testing unavailable providers.

This is NOT live-verified against Zilliz Cloud / self-hosted Milvus, and the README says so. Same honest caveat Python MilvusBackend carries.

How to use it

// pom.xml

io.github.antonyrag
ragleap-rag
0.9.0

// Java
var backend = new MilvusBackend(
"http://localhost:19530", // or Zilliz Cloud URL
"your_collection"
);
var rag = new RagleapRag(backend, embeddingConfig);

What's next

Live verification when we have infra, but the API contract is solid — it's built from docs.

If you build Java RAG, try it and star the repo:
github.com/antonyrag/ragleap-core

Good first issues are labeled — looking for contributors for Weaviate live tests and Milvus Cloud verification.

Release: https://github.com/antonyrag/ragleap-core/releases/tag/ragleap-rag-java-v0.9.0

Top comments (0)