Skip to main content

embed/
catalog.rs

1use fetch::FetchSpec;
2
3const GEMMA: [FetchSpec; 6] = [
4    FetchSpec {
5        url: "https://huggingface.co/onnx-community/embeddinggemma-300m-ONNX/resolve/5090578d9565bb06545b4552f76e6bc2c93e4a66/config.json",
6        dest_rel: "models/embeddinggemma-300m-q4/config.json",
7        sha256: "6e1f06404b7163e0325ed2ea3e6781cde50f4a50b31780a95ad0d30e8404d77b",
8        size_hint: Some(1_765),
9    },
10    FetchSpec {
11        url: "https://huggingface.co/onnx-community/embeddinggemma-300m-ONNX/resolve/5090578d9565bb06545b4552f76e6bc2c93e4a66/special_tokens_map.json",
12        dest_rel: "models/embeddinggemma-300m-q4/special_tokens_map.json",
13        sha256: "2f7b0adf4fb469770bb1490e3e35df87b1dc578246c5e7e6fc76ecf33213a397",
14        size_hint: Some(662),
15    },
16    FetchSpec {
17        url: "https://huggingface.co/onnx-community/embeddinggemma-300m-ONNX/resolve/5090578d9565bb06545b4552f76e6bc2c93e4a66/tokenizer_config.json",
18        dest_rel: "models/embeddinggemma-300m-q4/tokenizer_config.json",
19        sha256: "3ca953eea6c3c9fcda9cf3df22949ff18b216f7c74bd6459230f3f1013953f3a",
20        size_hint: Some(1_156_830),
21    },
22    FetchSpec {
23        url: "https://huggingface.co/onnx-community/embeddinggemma-300m-ONNX/resolve/5090578d9565bb06545b4552f76e6bc2c93e4a66/tokenizer.json",
24        dest_rel: "models/embeddinggemma-300m-q4/tokenizer.json",
25        sha256: "4dda02faaf32bc91031dc8c88457ac272b00c1016cc679757d1c441b248b9c47",
26        size_hint: Some(20_323_312),
27    },
28    FetchSpec {
29        url: "https://huggingface.co/onnx-community/embeddinggemma-300m-ONNX/resolve/5090578d9565bb06545b4552f76e6bc2c93e4a66/onnx/model_q4.onnx",
30        dest_rel: "models/embeddinggemma-300m-q4/onnx/model_q4.onnx",
31        sha256: "ad1dfee81a70f7944b9b9d1cc6e48075b832881cf33fab2f2b248be78f3f0043",
32        size_hint: Some(519_322),
33    },
34    FetchSpec {
35        url: "https://huggingface.co/onnx-community/embeddinggemma-300m-ONNX/resolve/5090578d9565bb06545b4552f76e6bc2c93e4a66/onnx/model_q4.onnx_data",
36        dest_rel: "models/embeddinggemma-300m-q4/onnx/model_q4.onnx_data",
37        sha256: "599962c3143b040de2dd05e5975be3e9091dd067cacc6a8f7186e3203bab9e02",
38        size_hint: Some(196_725_760),
39    },
40];
41
42pub fn catalog() -> &'static [FetchSpec] {
43    &GEMMA
44}
45
46#[cfg(test)]
47mod tests {
48    use super::*;
49
50    #[test]
51    fn catalog_has_all_six_gemma_files() {
52        assert_eq!(catalog().len(), 6);
53    }
54
55    #[test]
56    fn every_entry_lands_under_the_pinned_model_dir() {
57        for spec in catalog() {
58            assert!(spec.dest_rel.starts_with("models/embeddinggemma-300m-q4/"));
59        }
60    }
61
62    #[test]
63    fn every_entry_carries_a_sha256_and_a_size_hint() {
64        for spec in catalog() {
65            assert_eq!(spec.sha256.len(), 64);
66            assert!(spec.size_hint.is_some());
67        }
68    }
69}