Join the conversation

Join the community of Machine Learners and AI enthusiasts.

Sign Up
gorrce 
posted an update 2 days ago
Post
4,946
Introducing NeonLib — an Android knowledge library with on-device document retrieval powered by Google's EmbeddingGemma 300M and LiteRT.

Import notes and documents, recognise text from photos or scanned PDFs, and search for relevant source passages directly on your phone.

EmbeddingGemma handles retrieval. Optional answers use a separate downloaded local language model or a selected online provider.

Built with Kotlin, Jetpack Compose and ObjectBox vector search. I'm particularly interested in Croatian and English retrieval and making on-device AI useful in everyday document workflows.

Try NeonLib:
https://play.google.com/store/apps/details?id=com.neonbreak.neonlib&hl=en

Feedback from the Hugging Face community is welcome!

Keeping passage retrieval visible separately from optional answers seems useful for diagnosing language effects. In the Croatian/English examples you've tried, does a Croatian query retrieve English source passages as reliably as the reverse direction? I'd be interested in that retrieval behavior before adding generation, since it determines which sources the answer model gets to see.

·

No, multilingual support doesn’t work particularly well, but that’s expected from a 300M-parameter model. When searching within a specific language, it works reasonably well and almost always retrieves relevant information, so the model is functional.

I originally tried to make the system run 100% offline, but I couldn’t find a small local generative model that could produce coherent answers. EmbeddingGemma 300M does its job—the issue was with the small generative models.

In this post