EmbeddingGemma 2 and the First Wave of Local Multimodal Search

EmbeddingGemma 2 maps text, images, audio, and video into a shared embedding space. DigUp is an open source desktop app using it to search local files across macOS, Windows, and Linux.

#multimodal-search#semantic-search#local-first#privacy#desktop-app

A model for searching across formats

Google DeepMind’s EmbeddingGemma 2, described in the DigUp project README as released in October 2026, is a multimodal embedding model. It represents text, images, audio, and video in a shared space, so a text query can retrieve relevant material from more than one kind of file. A search for “a dog on the beach,” for example, can match a photo; a query about sleep can point to a relevant segment in a recording.

The README describes the model as having 740 million parameters, supporting more than 100 languages, and being released under the Apache 2.0 license. Its size is intended to make it practical to run on a laptop. A shared representation is useful to developers building retrieval systems because they can compare a text query with content from different media types in one search workflow.

DigUp applies it to personal files

The most concrete open source application in the current OSRepos catalog is DigUp, a desktop search tool for macOS, Windows, and Linux. Users choose folders to index, then search by describing the contents they remember. The app supports photos, PDFs, documents, audio, and video; code search is available separately as an opt-in feature.

The project gives examples that show how results can be more specific than a filename match: finding a zebra in a video, jumping to a podcast moment where someone discusses sleep, or locating a lease page with a clause about pets. It also describes cross-language search, such as querying in English for notes written in Bengali or Arabic. For code, a code: prefix can search by what a function does or by a name in the source.

Results can lead to locations within files, not just the file itself. DigUp can open a PDF at a page, audio or video at a matching moment, and code at a line. It combines semantic retrieval with keyword matching, which the README says helps with exact strings such as invoice numbers and error codes.

The local indexing pipeline

DigUp runs an 8-bit build of EmbeddingGemma 2 using llama.cpp. It creates vectors for indexed content and stores them in SQLite alongside a keyword index. The project says the vectors occupy a shared 768-dimensional space, allowing a query to rank, for example, a video frame against a PDF page.

The app reads only folders selected by the user. DigUp says file contents stay on the computer; its network use is limited to downloading the model and checking for updates. The listed model download is 865 MB. The text component used for searching is about 250 MB and is loaded only during search.

Hardware acceleration varies by platform. DigUp uses Metal on Mac, and on Windows and Linux it can use Vulkan when its setup check finds that preferable to the processor. Its README cautions that indexing time depends on hardware: on a processor alone, a picture can take a few seconds, and a large photo collection may take hours. The app estimates the initial indexing time during setup.

The implementation also differs across systems. DigUp uses macOS frameworks for images, PDFs, audio, and screenshot text. Windows and Linux use components including PDFium and ffmpeg. The search engine is shared Swift code, while the Windows and Linux interface uses Tauri.

What developers can evaluate

DigUp is listed by OSRepos as a New project with 3.7k stars, and its catalog tags include local-first, privacy, cross-platform, semantic search, and multimodal search. The Mac release requires Apple Silicon and macOS 14 or later. Windows and Linux are currently described as beta releases for 64-bit systems.

For developers evaluating the approach, the key design choice is the combination of multimodal vectors and exact keyword search, rather than embeddings alone. The two methods address different needs: semantic matching can retrieve by meaning, while exact matching remains important for identifiers and error codes. The project also separates code indexing from general file search and requires users to enable it.

What to watch

EmbeddingGemma 2 gives local search developers a common embedding space for several media types, and DigUp demonstrates one desktop implementation across three operating systems. Its documented trade-offs include a sizeable model download and potentially slow first-time indexing on CPU-only hardware. As more projects adopt the model, comparisons of retrieval quality, indexing speed, and hardware requirements will help show where this design works best.

Sources

Projects in this post

Found this useful?

Share it with someone who follows open source.

Written with the help of AI from the sources listed above and OSRepos data, and reviewed before publishing. How we measure projects.