Oriloq Embeddings Gemma 2 MLX

A multimodal MLX package for EmbeddingGemma2Provider in the Oriloq MLX library (the Swift VoxtralSwift module) on Apple Silicon. It produces normalized 768-dimensional vectors; the provider also supports 512, 256, and 128 dimensions. This repository distributes model weights and metadata, without the provider code.

Format and quantization

Converted from google/embeddinggemma-2, revision 914f7f89142e33e77833254d9c9b90c3cef7303b. This is a quantized conversion, with no additional fine-tuning.

Component File Precision
Text text.safetensors Affine Q8 text backbone linear projections, group size 64, including PLE
Vision vision.safetensors BF16
Audio audio.safetensors BF16

The token embedding table and the final text projection from 512 to 768 dimensions remain BF16. The Q8 designation therefore does not apply to every model parameter. The three shards occupy approximately 1.27 GiB in total; the package also includes the tokenizer, processor configurations, and provenance manifest. The conversion was produced with MLX 0.31.1.

This layout is specific to the Oriloq provider: the package cannot be loaded directly with transformers.AutoModel, SentenceTransformer, or a generic MLX loader. The provider validates checksums, parameter keys, and parameter shapes. The Swift stack used for this release requires macOS 26 or later and Apple Silicon.

Reproducible download

Install huggingface_hub, then replace REVISION with the commit SHA shown on Hugging Face to pin the files used by your application:

from huggingface_hub import snapshot_download

model_path = snapshot_download(
    repo_id="NeoRoth/oriloq-embeddings-gemma2-mlx",
    revision="REVISION",
    local_dir="oriloq-embeddings-gemma2-mlx",
)

From the downloaded directory, verify all distributed files:

shasum -a 256 -c SHA256SUMS

Usage with Oriloq MLX

In a project that depends on the Oriloq MLX library and configures its Metal resources:

import VoxtralSwift

let provider = try EmbeddingGemma2Provider(
    modelPath: "/path/to/oriloq-embeddings-gemma2-mlx",
    profile: .text,
    outputDimensions: 768
)
let vectors = try await provider.embed(
    [.text("Find the meeting minutes")],
    purpose: .searchQuery
)
try await provider.load(profile: .vision)
try await provider.load(profile: .audio)
try await provider.unload(keeping: .text)
try await provider.unload()

The .text, .vision, .audio, and .multimodal profiles load encoders on demand. The provider accepts text, images, audio, and video frames; combinations of these share the same embedding space for a given precision and output dimension. Raw .samples audio inputs must be mono at 16 kHz. The provider applies text task instructions and media preprocessing. Migrating from Qwen3 or changing the embedding space identity requires rebuilding embeddings and indexes for both documents and queries.

Evaluation against the original checkpoint

The published Q8 package was compared with the BF16 MLX conversion of the pinned Google checkpoint at 768 dimensions:

Metric BF16 reference Q8
Code search Recall@1 0.9090 0.9080
Code search MRR@10 0.9434 0.9433
Semantic similarity Spearman 0.8386 0.8383

These are historical subset evaluations on an M3 Max with 128 GB of memory. The small differences do not establish statistical non-inferiority or validate production Smart Action routing. Independent Google numerical parity checks apply to the BF16 reference implementation, not exact Q8 equality.

Image and audio comparisons are also available at 768 dimensions:

Caption-to-media retrieval BF16 Recall@1 Q8 Recall@1
Flickr8k subset, 200 images / 1,000 captions 0.9210 0.9260
Clotho subset, 100 recordings / 500 captions 0.0980 0.1160

These historical subset results are not proof of a Q8 improvement. Audio differences are mixed across metrics: Clotho Recall@10 is 0.5980 for BF16 and 0.5880 for Q8. The image and audio evaluation includes all metrics, confidence intervals and the separate BF16 Google-runtime media parity checks.

The downloaded publication also passed 13 API and 12 lifecycle check groups on Metal. See the comparison and test report for protocols, confidence intervals, reference identities and limitations, and aggregate results for machine-readable metrics and evidence hashes.

Validation and limitations

Local validation on October 10, 2026, on an M3 Max with 128 GB of memory reported eight successful API check groups and twelve successful lifecycle check groups for the Q8 package: adding and removing encoders, preserving vectors and embedding space, failure atomicity, and complete unloading. These results come from the Oriloq provider; the full historical quality and speed campaigns were not rerun as part of that validation. The BF16 parity documented in that campaign applies to the BF16 reference package, not exact numerical identity of the Q8 package.

Publishing this package does not establish that it has been integrated into the Oriloq client application. A Mac with 16 GB of memory and long media workloads still require separate validation. Successful loading does not guarantee the quality of Smart Action triggering or direct audio retrieval. To search spoken content, the recommended approach remains Oriloq transcription followed by text indexing. This repository provides only the MLX backend.

Provenance, checksums, and license

embeddinggemma_provenance.json records the Google revision, the SHA-256 checksum of the source checkpoint, and checksums of runtime files. SHA256SUMS covers all public files in this release except itself.

The base model was developed by Google DeepMind and is distributed under the Apache License 2.0. Conversion and quantization changes are described in NOTICE. See LICENSE for the full license text.

Downloads last month
53
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for NeoRoth/oriloq-embeddings-gemma2-mlx

Finetuned
(51)
this model