Java devs — RagLeap is now native Java, on Maven Central!

No Python service needed anymore.

Links

Maven Central:

GitHub Releases:

Repo: https://github.com/antonyrag/ragleap-core

Quick Start

pom.xml:


io.github.antonyrag
ragleap-rag
0.13.0


io.github.antonyrag
ragleap-graph
0.1.0

Code:

 java var rag = new RagLeap(config); // Ingest rag.ingest(Path.of("report.pdf")); rag.ingestText("RagLeap is safety-first RAG"); rag.ingestImage(Path.of("chart.png")); // Ask String ans = rag.ask("Summarize report with sources"); // Stream rag.askStream("Explain", System.out::print); // History rag.getHistory(); rag.clearSession(); // Documents rag.listDocuments(); rag.deleteDocument("doc-id"); Graph: var graphConfig = new GraphConfig("http://localhost:7474", "neo4j", "password"); var graph = new GraphIndex(graphConfig, cypherRunner); graph.upsertDocument(docId, text); var docs = graph.findDocumentsByEntities(List.of("RagLeap", "Antony")); var lineage = graph.findLineage("entity-id"); How we proved parity Most ports test final output. We tested ordered behavior. * 33 scenarios vs Python RagLeap 0.13.0 (d210dab) * Fake embedder, vector store, generator, memory, hooks * Full ordered log must match — calls, hooks, memory writes * Mutation test — change behavior → test fails **Results:** 502 tests — 0 failures. **Graph:** 252 logic + 14 upsert + 47 query vs Python 0.9.0 (226fa4d). Cypher + params (int vs float!) must match. **Live:** Tested against Postgres and Neo4j 5.26.29 Community by resolving jar from Maven Central in clean project. ** ## What's NOT ported (honest) ** **ragleap-rag:** reranking, Redis cache, ingest_url, async variants. QueryRewrite is enum, streaming is callback. ingestBatch keeps metadata (Python drops it for file items). **ragleap-graph:** LLM extraction, deduplication, GraphRetriever, backfills, migration, Postgres audit writer. Check release notes for full list — no surprises. ** ## Roadmap ** * reranking + Redis cache * GraphRetriever (hybrid vector+graph) * LLM entity extraction in Java Contributions welcome — raise issue or PR on ragleap-core. Try it: mvn dependency:get and let me know what breaks!