Jawaban langsung: Jalankan EmbeddingGemma secara lokal lewat 1 dari 4 jalur: Ollama, sentence-transformers di Python, llama.cpp, atau Transformers.js. Untuk mulai cepat, perbarui Ollama ke rilis 0.40 terbaru, jalankan ollama pull embeddinggemma-2:270m, lalu panggil /api/embed.

EmbeddingGemma adalah model embedding terbuka dari Google DeepMind. Model ini mengubah teks menjadi vektor 768 angka untuk pencarian semantik dan RAG. Versi 2 juga menerima gambar, video, dan audio, dengan lisensi Apache 2.0, menurut model card Hugging Face.

Kami memeriksa status setiap jalur pada 8 November 2026. Kami menguji jalur Python di CPU AMD Ryzen 9 8945H pada hari yang sama, dan di GPU RTX 4060 Laptop pada 13 Oktober 2026. Untuk fitur lengkap versi 2, baca panduan EmbeddingGemma 2 untuk pencarian teks dan foto.

Versi mana yang Anda jalankan: EmbeddingGemma 1 atau 2?

Pilih versi 2 untuk gambar, audio, kode, atau dokumen panjang, dan versi 1 untuk teks pendek. Nama model di Ollama berbeda, jadi periksa nama sebelum Anda menjalankan perintah pull.

AtributEmbeddingGemma 1EmbeddingGemma 2
Nama di Ollamaembeddinggemmaembeddinggemma-2
Parameter300M270M untuk teks, sampai 740M lengkap
InputTeksTeks, kode, gambar, video, audio
Konteks2K token8.192 token
Ukuran di Ollama622 MB304 MB (270m) sampai 1,3 GB (740m)
Uji FAQ Indonesia 12 kueri11/12 lewat Ollama10/12 lewat Python di GPU

Sumber: halaman embeddinggemma dan embeddinggemma-2 di Ollama, dibaca 8 November 2026. Baris uji berasal dari uji kami pada 13 Oktober 2026 dengan FAQ dummy klinik gigi. Selisih 1 kueri dari 12 kueri belum membuktikan versi 1 lebih baik.

Vektor versi 1 dan versi 2 tidak dapat dicampur dalam 1 indeks. Bila Anda pindah versi, bangun ulang vektor semua dokumen.

4 jalur untuk menjalankan EmbeddingGemma secara lokal

Pilih jalur dari tempat aplikasi Anda berjalan: server APIAPIPintu resmi yang dipakai 2 sistem untuk saling mengirim data, tanpa orang menyalin data secara manual.Buka glosarium, skrip Python, 1 berkas biner, atau browser. Tabel ini merangkum status EmbeddingGemma 2 di tiap jalur per 8 November 2026.

JalurCocok untukStatus EmbeddingGemma 2Kami uji
OllamaAPI lokal untuk aplikasi apa punTag 270m, 440m, 570m, dan 740m tersediaVersi 1 saja. Ollama 0.32.3 menolak versi 2 dengan kode 412
sentence-transformersKontrol prefix, dimensi MRL, dan encoderJalur resmi di model card GoogleYa: GPU 13 Okt dan CPU 8 Nov 2026
llama.cpp1 biner tanpa Python, API kompatibel OpenAIDukungan masuk lewat PR #30054 pada 6 Oktober 2026Belum
Transformers.jsBrowser dengan WebGPU, atau Node.jsPort ONNX dari onnx-community, q4 sampai fp32Belum
Badan adaptor amber dengan 4 kepala colokan teal dan mint yang berbeda bentuk
Satu model EmbeddingGemma dapat berjalan lewat 4 runtime lokal. Pilih runtime yang cocok dengan tempat aplikasi Anda berjalan.

Jalur 1: Jalankan EmbeddingGemma lewat Ollama

Ollama adalah jalur tercepat bila server Anda sudah memakai Ollama untuk model chat. Periksa versi Ollama dulu, karena versi lama menolak model ini.

ollama --version
ollama pull embeddinggemma-2:270m
curl http://localhost:11434/api/embed -d '{
  "model": "embeddinggemma-2:270m",
  "input": ["task: search result | query: klinik buka hari Minggu?"]
}'
  1. Perbarui Ollama ke rilis 0.40 terbaru. Rilis terakhir adalah 0.40.15 pada 3 November 2026.
  2. Pilih tag 270m untuk teks saja. Ukurannya 304 sampai 378 MB.
  3. Pilih tag 440m untuk mencari foto dengan kalimat. Ukurannya 671 sampai 714 MB.
  4. Tulis prefix tugas di dalam teks input. Kueri memakai task: search result | query: ....
  5. Tulis dokumen dengan format title: ... | text: ....

Catatan rilis Ollama 0.40.4 pada 12 Oktober 2026 menambah embedding multimodal lewat llama-server. Pada 13 Oktober 2026, Ollama 0.32.3 di mesin uji kami menolak perintah pull dengan kode 412 dan meminta versi baru. Kami belum menguji versi 2 lewat Ollama.

Jalur 2: Jalankan EmbeddingGemma lewat Python dengan sentence-transformers

Pakai sentence-transformers bila Anda butuh prefix otomatis, potongan dimensi, dan pilihan encoder. Jalur ini adalah jalur yang kami uji untuk versi 2.

uv venv --python 3.12 .venv
uv pip install --python .venv/bin/python torch --index-url https://download.pytorch.org/whl/cpu
uv pip install --python .venv/bin/python -U sentence-transformers transformers
import torch
from sentence_transformers import SentenceTransformer

model = SentenceTransformer(
    "google/embeddinggemma-2",
    device="cpu",
    model_kwargs={"torch_dtype": torch.float32},
    config_kwargs={"vision_config": None, "audio_config": None},  # teks saja, 270M
)
docs = model.encode(
    ["title: Jadwal | text: Klinik buka Senin sampai Sabtu, 09.00 sampai 20.00."],
    normalize_embeddings=True,
)
q = model.encode("buka hari Minggu?", prompt_name="SearchQuery", normalize_embeddings=True)
print(model.similarity(q, docs))

Untuk GPU NVIDIA, pasang PyTorch build CUDA dan pakai torch.bfloat16. Jangan pakai float16. Model card menyebut aktivasi model melewati rentang float16, dan uji kami pada 13 Oktober menghasilkan NaN pada 2 dari 6 teks panjang.

Hasil uji kami: CPU dan GPU

Di CPU, encoder teks 270M menjawab 1 kueri dalam median 44 ms dan memakai RAM puncak 2.628 MB. GPU memproses teks pendek sekitar 18 kali lebih cepat.

UkuranCPU float32, 8 thread, 8 Nov 2026GPU bfloat16 RTX 4060 Laptop, 13 Okt 2026
Waktu muat dari cache2,1 detik1,8 sampai 2,0 detik
Memori puncakRAM 2.628 MB (seluruh proses Python)VRAM 526 MB
1 kueriMedian 44 ms, maksimum 46 ms, 20 kaliTidak diukur
Teks pendek per detik52 (batch 32)959 (batch 64)
Top-1 FAQ 12 kueri, 768 dimensi9/12, MRR 0,83010/12, MRR 0,872
Top-1 FAQ 12 kueri, 256 dimensi9/12, MRR 0,8449/12, MRR 0,844

Sumber: uji Rama Digital dengan torch 2.14.1, transformers 5.19.0, dan sentence-transformers 6.1.0. Data uji adalah FAQ dummy klinik gigi berisi 12 dokumen dan 12 kueri. Ukuran batch CPU dan GPU berbeda, jadi angka 18 kali adalah perkiraan.

Dengan 52 teks per detik, CPU membangun indeks 10.000 potongan FAQ pendek dalam sekitar 3 menit. Langkah itu hanya berjalan sekali, dan dokumen panjang butuh waktu lebih lama.

Satu kueri memberi hasil berbeda di CPU dan GPU. Untuk kueri "ada kerak keras kuning di belakang gigi bawah", CPU float32 memilih "Gigi sensitif" dengan skor 0,714. Jawaban benar, "Scaling karang gigi", mendapat skor 0,713.

Selisih 0,001 itu berasal dari perbedaan presisi, bukan dari perbedaan model. Bangun indeks dan kueri dengan runtime dan presisi yang sama. Kirim chat ke admin bila skor pertama dan kedua terlalu dekat.

Timbangan dua lengan yang hampir seimbang dengan 1 pemberat amber kecil di satu piringan
Selisih skor 0,001 dapat membalik jawaban teratas. Pakai runtime dan presisi yang sama untuk indeks dan kueri.

Jalur 3: Jalankan EmbeddingGemma lewat llama.cpp

Pakai llama.cpp bila Anda ingin 1 biner tanpa Python dan API yang kompatibel dengan OpenAI. Dukungan EmbeddingGemma 2 masuk lewat PR #30054 pada 6 Oktober 2026.

curl -LsSf https://llama.app/install.sh | sh
llama serve -hf ggml-org/embeddinggemma-2-GGUF
curl http://localhost:9931/v1/embeddings \
  -H "Content-Type: application/json" \
  -d '{"input": ["task: search result | query: klinik buka hari Minggu?"]}'

Perintah llama serve berasal dari halaman ggml-org/embeddinggemma-2-GGUF. Port bawaan server adalah 9931, menurut README server llama.cpp. Endpoint /v1/embeddings mengembalikan vektor yang sudah dinormalisasi.

Input gambar memakai objek content dan model multimodal yang dimuat dengan --mmproj, menurut README yang sama. Kami belum menguji jalur ini.

Jalur 4: Jalankan EmbeddingGemma di browser atau Node.js

Pakai Transformers.js bila data harus tetap di perangkat pengguna dan Anda tidak ingin menjalankan server. Port onnx-community/embeddinggemma-2-ONNX berjalan di WebGPU, WASM, atau CPU Node.js.

npm i @huggingface/transformers

import { pipeline } from "@huggingface/transformers";

const extractor = await pipeline(
  "feature-extraction",
  "onnx-community/embeddinggemma-2-ONNX",
  { device: "webgpu", dtype: "q4" }, // Node.js: device "cpu"
);
const out = await extractor(
  ["task: search result | query: klinik buka hari Minggu?"],
  { pooling: "mean", normalize: true },
);

Pilih dtype dari ukuran unduhan dan mutu. Menurut model card port ONNX, model teks q4 berukuran 175 MB dengan kemiripan kosinus terburuk 0,988 terhadap fp32. Model teks q8 berukuran 314 MB, dengan kemiripan terburuk 0,9997.

Daftar periksa sebelum pelanggan memakainya

Catat 5 hal ini sebelum indeks melayani pelanggan. Setiap butir mencegah hasil pencarian berubah tanpa tanda.

  • Catat runtime, versi, dtype, dan dimensi di metadata indeks.
  • Pakai model, prefix, dimensi, dan presisi yang sama untuk dokumen dan kueri.
  • Bangun ulang seluruh indeks bila Anda pindah dari versi 1 ke versi 2.
  • Uji 20 pertanyaan nyata pelanggan, lalu catat skor pertama dan kedua.
  • Tetapkan selisih skor minimum sebelum bot menjawab tanpa admin.

Tanya jawab

Apakah EmbeddingGemma bisa berjalan tanpa GPU?

Ya. Di CPU AMD Ryzen 9 8945H, encoder teks 270M menjawab 1 kueri dalam median 44 ms dan memproses 52 teks pendek per detik pada uji kami 8 November 2026.

Mengapa ollama pull embeddinggemma-2 gagal dengan kode 412?

Kode 412 berarti versi Ollama Anda terlalu lama untuk model ini. Perbarui Ollama ke rilis 0.40 terbaru, lalu jalankan lagi perintah pull.

Berapa memori yang dibutuhkan EmbeddingGemma 2?

Di CPU float32, proses Python memakai RAM puncak 2.628 MB untuk encoder teks. Di GPU bfloat16, VRAM puncak 526 MB untuk teks dan 1.442 MB untuk model lengkap.

Apakah vektor EmbeddingGemma 1 dan 2 bisa dicampur?

Tidak. Kedua versi menghasilkan ruang vektor yang berbeda, jadi bangun ulang vektor semua dokumen sebelum Anda pindah versi.

Jalur mana yang paling cepat untuk mulai?

Ollama paling cepat bila server Anda sudah memakainya: 1 perintah pull dan 1 panggilan API. Pakai sentence-transformers bila Anda butuh kontrol prefix dan dimensi.

Langkah berikutnya

Mulai dengan Ollama atau Python di 1 laptop, lalu uji 20 pertanyaan nyata pelanggan sebelum Anda memilih server. Untuk spesifikasi mesin, baca spesifikasi local AI server untuk Gemma dan knowledge base. Untuk pencarian dokumen perusahaan di jaringan sendiri, lihat layanan local AI server perusahaan atau jadwalkan diskusi 30 menit.

Sumber