Lewati ke konten utama

Cara Menyiapkan dan Menjalankan Gemma 3 Secara Lokal dengan Ollama

Pelajari cara memasang, menyiapkan, dan menjalankan Gemma 3 secara lokal dengan Ollama serta membangun asisten berkas sederhana di perangkat Anda sendiri.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Google DeepMind baru saja merilis Gemma 3, iterasi terbaru dari model open-source mereka. Gemma 3 dirancang untuk berjalan langsung di perangkat dengan sumber daya terbatas seperti ponsel dan laptop. Model-model ini dioptimalkan untuk kinerja cepat pada satu GPU atau TPU dan hadir dalam berbagai ukuran untuk menyesuaikan kebutuhan perangkat keras yang berbeda.

Dalam tutorial ini, saya akan menjelaskan langkah demi langkah cara menyiapkan dan menjalankan Gemma 3 secara lokal menggunakan Ollama. Setelah itu, saya akan menunjukkan cara menggunakan Gemma 3 dan Python untuk membangun asisten berkas.

Mengapa Menjalankan Gemma 3 Secara Lokal?

Menjalankan model bahasa besar (LLM) seperti Gemma 3 secara lokal memberikan beberapa manfaat utama:

  • Privasi: Data tetap berada di perangkat, melindungi informasi sensitif.
  • Latensi rendah: Menghilangkan kebutuhan transmisi internet, sehingga respons lebih cepat.
  • Kustomisasi: Model dapat disesuaikan untuk memenuhi kebutuhan spesifik dan eksperimen.
  • Efisiensi biaya: Mengurangi biaya penggunaan cloud dengan memanfaatkan perangkat keras yang sudah ada.
  • Akses offline: Aplikasi tetap berfungsi tanpa koneksi internet.
  • Kendali: Keamanan dan kendali yang lebih baik atas lingkungan komputasi kita.

Menyiapkan Gemma 3 Secara Lokal dengan Ollama

Memasang Ollama

Ollama adalah platform yang tersedia untuk Windows, Mac, dan Linux yang mendukung menjalankan dan mendistribusikan model AI, memudahkan pengembang untuk mengintegrasikan model tersebut ke dalam proyek mereka. Kita akan menggunakannya untuk mengunduh dan menjalankan Gemma 3 secara lokal.

Langkah pertama adalah mengunduh dan memasangnya dari situs resmi Ollama.

Mengunduh Ollama untuk menggunakan gemma 3 secara lokal

Saat memasang, pastikan untuk memasang command line:

Memasang command line Ollama

Setelah instalasi selesai, kita dapat memeriksa apakah sudah terpasang dengan benar menggunakan perintah ollama di terminal. Berikut contoh hasilnya:

Pemeriksaan instalasi Ollama

Mengunduh Gemma 3

Untuk mengunduh model dengan Ollama, gunakan perintah pull:

ollama pull <model_name>:<model_version>

Daftar model yang tersedia dapat ditemukan di pustaka Ollama.

Gemma 3, khususnya, memiliki empat model yang tersedia: 1b, 4b, 12b, dan 27b, di mana b berarti billion (miliar), merujuk pada jumlah parameter dalam model.

Sebagai contoh, untuk mengunduh gemma3 dengan parameter 1b, kita gunakan perintah:

ollama pull gemma3:1b

Jika kita tidak menentukan versi model, model 4b akan diunduh secara default:

ollama pull gemma3

Mendaftar model lokal

Kita dapat menampilkan daftar model yang kita miliki secara lokal dengan perintah berikut:

ollama list

Dalam kasus saya, keluarannya menunjukkan bahwa saya memiliki dua model: 

NAME             ID              SIZE      MODIFIED       
gemma3:1b        2d27a774bc62    815 MB    38 seconds ago    
gemma3:latest    c0494fe00251    3.3 GB    22 minutes ago 

Mengobrol di terminal

Kita dapat menggunakan Ollama untuk mengobrol dengan model menggunakan perintah run:

ollama run gemma3

Mengobrol dengan Ollama dan Gemma 3 di terminal

Perhatikan bahwa jika kita menggunakan perintah run dengan model yang belum kita unduh, model tersebut akan diunduh secara otomatis menggunakan pull.

Menjalankan Gemma 3 di latar belakang

Untuk menggunakan Gemma 3 dengan Python, kita perlu menjalankannya di latar belakang. Kita dapat melakukannya menggunakan perintah serve:

ollama serve

Jika Anda mendapatkan galat berikut saat mengeksekusi perintah, kemungkinan besar Ollama sudah berjalan:

Error: listen tcp 127.0.0.1:11434: bind: address already in use

Galat ini dapat terjadi ketika Ollama tetap berjalan di latar belakang.

Menggunakan Gemma 3 Secara Lokal dengan Python

Menyiapkan lingkungan Python

Ollama menawarkan paket Python untuk memudahkan koneksi dengan model yang berjalan di komputer kita.

Kita akan menggunakan Anaconda untuk menyiapkan lingkungan Python dan menambahkan dependensi yang diperlukan. Cara ini membantu mencegah kemungkinan masalah dengan paket Python lain yang mungkin sudah kita miliki.

Setelah Anaconda terpasang, kita dapat menyiapkan lingkungan dengan perintah:

conda create -n gemma3-demo -y python=3.9

Perintah ini menyiapkan lingkungan bernama gemma3-demo menggunakan Python versi 3.9. Opsi -y memastikan semua pertanyaan selama proses setup dijawab otomatis dengan ya.

Selanjutnya, kita mengaktifkan lingkungan dengan:

conda activate gemma3-demo

Terakhir, kita memasang paket ollama menggunakan perintah:

pip install ollama

Mengirim pesan ke Gemma 3 dengan Python

Berikut cara mengirim pesan ke Gemma 3 menggunakan Python:

from ollama import chat
response = chat(
    model="gemma3",
    messages=[
        {
            "role": "user",
            "content": "Why is the sky blue?",
        },
    ],
)
print(response.message.content)

Bergantung pada perangkat keras Anda, model mungkin membutuhkan waktu untuk menjawab, jadi bersabarlah saat menjalankan skrip.

Sebelumnya kita lihat bahwa gemma3 secara default merujuk ke gemma3:4b. Jadi ketika kita menentukan model="gemma3" sebagai model, itulah yang akan digunakan.

Untuk menggunakan model lain—misalnya model 1B—kita perlu meneruskan argumen model=”gemma3:1b” sebagai gantinya (dengan catatan kita sudah menariknya terlebih dahulu menggunakan perintah ollama pull gemma3:1b). Untuk menampilkan daftar model yang tersedia, kita dapat menggunakan perintah ollama list.

Jika kita ingin melakukan streaming jawaban kata demi kata, kita dapat menggunakan stream=True dan mencetak respons per potongan:

from ollama import chat
stream = chat(
    model="gemma3",
    messages=[{"role": "user", "content": "Why is the sky blue?"}],
    stream=True,
)
for chunk in stream:
    print(chunk["message"]["content"], end="", flush=True)

Ini memberikan pengalaman pengguna yang lebih baik karena pengguna tidak perlu menunggu hingga jawaban lengkap dihasilkan.

Untuk mempelajari lebih lanjut tentang paket ollama, lihat dokumentasinya.

Membangun Asisten Berkas Menggunakan Gemma 3

Di bagian ini, kita mempelajari cara membangun skrip Python yang memungkinkan kita mengajukan pertanyaan tentang isi berkas teks langsung dari terminal. Skrip ini akan berguna untuk tugas seperti memeriksa bug pada berkas kode atau menanyakan informasi dari dokumen apa pun.

Gambaran skrip

Tujuan kita adalah membuat alat command-line menggunakan Python yang membaca berkas teks dan menggunakan Gemma 3 untuk menjawab pertanyaan terkait isinya. Berikut panduan langkah demi langkah untuk mencapainya:

Menyiapkan struktur skrip

Pertama, kita perlu menyiapkan skrip Python dengan impor yang diperlukan dan struktur dasar:

import sys
from ollama import chat
def ask_questions_from_file(file_path):
    # Read the content of the text file
    with open(file_path, "r") as file:
        content = file.read()
    # Loop to keep asking questions
    while True:
        question = input("> ")
        print()
        if question.lower() == "exit":
            break
        # Use Gemma 3 to get answers
        stream = chat(
            model="gemma3",
            messages=[
                {"role": "user", "content": content},
                {"role": "user", "content": question},
            ],
            stream=True,
        )
        for chunk in stream:
            print(chunk["message"]["content"], end="", flush=True)

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python ask_file.py <path_to_text_file>")
    else:
        file_path = sys.argv[1]
        ask_questions_from_file(file_path)

Fungsionalitas inti dibungkus dalam fungsi ask_questions_from_file(). Fungsi ini menerima path berkas sebagai argumen dan dimulai dengan membuka serta membaca isi dari berkas teks yang ditentukan. Konten ini akan digunakan sebagai informasi latar untuk menjawab pertanyaan.

Setelah isi berkas dimuat, skrip masuk ke dalam loop yang terus-menerus meminta kita memasukkan pertanyaan. Saat kita mengetik pertanyaan, skrip mengirimkan isi berkas beserta pertanyaan kita ke model Gemma 3, yang memproses informasi tersebut untuk menghasilkan jawaban.

Interaksi dengan model terjadi melalui mekanisme streaming, memungkinkan jawaban ditampilkan secara real time saat dihasilkan. Jika kita mengetik exit, loop akan berhenti dan skrip akan berhenti berjalan.

Di akhir skrip, ada pemeriksaan untuk memastikan bahwa skrip dijalankan dengan benar dengan satu argumen command-line, yang seharusnya berupa path ke berkas teks. Jika argumen tidak disediakan, skrip menampilkan pesan penggunaan untuk memandu kita tentang cara menjalankan skrip dengan benar. Setup ini memungkinkan kita mengarahkan skrip secara efektif dari command line.

Menjalankan skrip

Simpan kode di atas dalam berkas bernama, misalnya, ask.py. Untuk menguji skrip, jalankan perintah:

python ask.py ask.py

Ini akan menjalankan skrip untuk menanyakan pertanyaan tentang dirinya sendiri (itulah sebabnya ask.py muncul dua kali pada perintah di atas). Berikut contoh memintanya menjelaskan cara kerja skrip:

Menggunakan skrip untuk menggunakan Gemma 3 secara lokal sebagai asisten berkas

Kesimpulan

Kita berhasil menyiapkan dan mempelajari cara menjalankan Gemma 3 secara lokal menggunakan Ollama dan Python. Pendekatan ini memastikan privasi data kita, menawarkan latensi rendah, menyediakan opsi kustomisasi, dan dapat menghemat biaya. Langkah-langkah yang telah kita bahas tidak hanya terbatas pada Gemma 3—langkah tersebut juga dapat diterapkan pada model lain yang dihosting di Ollama.

Jika kita ingin meningkatkan fungsionalitas skrip, kita bisa, misalnya, memperluas kemampuannya untuk menangani PDF. Cara terbaik untuk melakukannya adalah menggunakan API Mistral OCR. Kita dapat mengonversi berkas PDF menjadi teks, sehingga skrip kita dapat menjawab pertanyaan tentang PDF, menjadikannya lebih serbaguna dan andal.

Dengan alat-alat ini, kini kita siap untuk menjelajahi dan berinteraksi dengan model besar langsung dari perangkat kita sendiri.

FAQs

Apa persyaratan perangkat keras untuk menjalankan Gemma 3 secara lokal?

Kemampuan untuk menjalankan Gemma 3 secara lokal bergantung pada ukuran model spesifik yang Anda pilih untuk diunduh. Model yang lebih kecil seperti gemma3:1b dirancang efisien dan dapat berjalan pada perangkat yang kurang bertenaga, seperti laptop dengan satu GPU atau bahkan beberapa tablet berperforma tinggi. Model yang lebih besar seperti gemma3:27b memerlukan sumber daya komputasi lebih besar, misalnya workstation multi-core dengan GPU kelas atas. Selalu periksa spesifikasi perangkat Anda dibandingkan dengan kebutuhan sumber daya model untuk memastikan kompatibilitas.

Bisakah saya menjalankan beberapa instance Gemma 3 secara bersamaan?

Ya, Anda dapat menjalankan beberapa instance Gemma 3 secara bersamaan, asalkan sumber daya perangkat keras Anda (CPU, GPU, dan memori) cukup untuk mendukung beban komputasi tambahan. Setiap instance model yang berjalan di latar belakang akan mengonsumsi sumber daya sistem tambahan, jadi pastikan sistem Anda dapat menangani beberapa proses tanpa penurunan kinerja yang signifikan.

Apakah perlu menggunakan Anaconda untuk menyiapkan lingkungan Python?

Meskipun Anaconda sangat direkomendasikan karena kemudahan membuat lingkungan terisolasi, mengelola dependensi, dan menghindari konflik dengan paket Python lainnya, penggunaannya tidak wajib. Anda juga dapat menggunakan alat lingkungan virtual lain seperti venv atau virtualenv.


François Aubry's photo
Author
François Aubry
LinkedIn
Insinyur full-stack & pendiri di CheapGPT. Mengajar selalu menjadi passion saya. Sejak masa awal sebagai mahasiswa, saya aktif mencari peluang untuk membimbing dan membantu mahasiswa lain. Passion ini mendorong saya menempuh studi PhD, di mana saya juga menjadi asisten pengajar untuk mendukung kegiatan akademik saya. Selama tahun-tahun itu, saya menemukan kepuasan besar dalam suasana kelas tradisional, membangun koneksi dan memfasilitasi proses belajar. Namun, dengan hadirnya platform pembelajaran daring, saya melihat potensi transformatif pendidikan digital. Bahkan, saya terlibat aktif dalam pengembangan salah satu platform tersebut di universitas kami. Saya sangat berkomitmen untuk mengintegrasikan prinsip-prinsip pengajaran tradisional dengan metodologi digital yang inovatif. Tujuan saya adalah menciptakan kursus yang tidak hanya menarik dan informatif, tetapi juga mudah diakses oleh para pembelajar di era digital ini.
Topik
Kecerdasan Buatan
Large Language Models

Pelajari AI dengan kursus-kursus ini!

Kursus

Retrieval Augmented Generation (RAG) dengan LangChain

3 jam
21.3K
Pelajari metode mutakhir untuk mengintegrasikan data eksternal dengan LLM menggunakan Retrieval Augmented Generation (RAG) dengan LangChain.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

Lihat SelengkapnyaLihat Selengkapnya