Masalah: AI coding assistant kamu bocor data dan bikin kantong jebol
Kamu lagi ngoding, stuck di suatu fungsi, terus nanya ke ChatGPT atau GitHub Copilot. Wajar. Tapi ada dua masalah yang sering diabaikan:
- Data kamu dikirim ke server mereka. Kalau kamu kerja di proyek klien atau startup yang punya IP sensitif, ini risiko nyata.
- Biayanya nggak predictable. API OpenAI bisa tiba-tiba mahal kalau usage-mu naik. Copilot $10/bulan per seat — lumayan kalau kamu solo indie hacker.
Solusinya: jalankan large language model (LLM) sendiri di laptop atau server lokal. Dengan Ollama, setup-nya lebih simpel dari yang kamu kira.
Artikel ini bakal kasih kamu setup end-to-end: Ollama + model coding + integrasi ke editor — semua jalan di mesin kamu sendiri, tanpa koneksi internet, tanpa biaya per-token.
Kenapa Ollama, Bukan LM Studio atau llama.cpp Langsung?
Ada beberapa opsi untuk jalankan LLM lokal:
- llama.cpp — powerful tapi setup-nya manual banget, harus compile sendiri.
- LM Studio — GUI bagus, tapi berat dan kurang cocok buat integrasi programatik.
- Ollama — CLI-first, expose REST API otomatis di
localhost:11434, model management pakai satu command. Cocok buat developer.
Ollama juga support model-model coding spesifik seperti deepseek-coder, codellama, dan qwen2.5-coder yang memang di-fine-tune buat nulis dan debug kode.
Setup Ollama di Linux/macOS
Install
Satu command, selesai:
curl -fsSL https://ollama.com/install.sh | sh
Kalau kamu di macOS, bisa juga pakai:
brew install ollama
Verifikasi:
ollama --version
# ollama version is 0.3.x
Pull model coding
Gue rekomendasikan mulai dari qwen2.5-coder:7b — ukurannya sekitar 4.7 GB, performa coding-nya solid, dan jalan lancar di laptop dengan RAM 16 GB:
ollama pull qwen2.5-coder:7b
Kalau RAM kamu 8 GB, pakai versi yang lebih kecil:
ollama pull qwen2.5-coder:1.5b
Mau lihat model apa yang sudah ter-install?
ollama list
Jalankan server
Ollama otomatis jalan sebagai background service setelah install. Tapi kalau perlu restart manual:
ollama serve
Server sekarang listen di http://localhost:11434.
Test via REST API
Sebelum integrasi ke editor, pastikan API-nya jalan dulu. Buka terminal baru:
curl http://localhost:11434/api/generate \
-d '{
"model": "qwen2.5-coder:7b",
"prompt": "Write a Python function to flatten a nested list",
"stream": false
}'
Response-nya JSON, field response berisi output model:
{
"model": "qwen2.5-coder:7b",
"response": "def flatten(lst):\n result = []\n for item in lst:\n if isinstance(item, list):\n result.extend(flatten(item))\n else:\n result.append(item)\n return result",
"done": true
}
Kalau dapat response ini, setup kamu sudah beres.
Integrasi ke VS Code dengan Continue
Continue adalah extension VS Code open-source yang bisa connect ke Ollama. Ini pengganti Copilot yang jalan 100% lokal.
Install Continue
- Buka VS Code
- Extensions (
Ctrl+Shift+X) - Cari "Continue" → Install
Konfigurasi
Setelah install, Continue akan buat file config di ~/.continue/config.json. Edit file itu:
{
"models": [
{
"title": "Qwen2.5 Coder 7B (Local)",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"apiBase": "http://localhost:11434"
}
],
"tabAutocompleteModel": {
"title": "Autocomplete",
"provider": "ollama",
"model": "qwen2.5-coder:1.5b",
"apiBase": "http://localhost:11434"
},
"allowAnonymousTelemetry": false
}
Perhatikan: gue pakai dua model berbeda. Model 7b untuk chat dan explain code (lebih pintar), model 1.5b untuk autocomplete inline (lebih cepat, latency rendah).
Cara pakainya
- Chat:
Ctrl+Lbuka sidebar Continue, tanya apa saja tentang kode kamu. - Inline edit: Select kode, tekan
Ctrl+I, ketik instruksi (misalnya "add error handling"). - Autocomplete: Tinggal ngetik, suggestion muncul otomatis seperti Copilot.
Buat Script Python Sendiri untuk Query Ollama
Kalau kamu mau integrate AI ke workflow atau tooling custom — misalnya script review kode otomatis sebelum commit — ini contoh minimal yang jalan:
import requests
import json
import sys
OLLAMA_URL = "http://localhost:11434/api/generate"
MODEL = "qwen2.5-coder:7b"
def ask_ollama(prompt: str) -> str:
payload = {
"model": MODEL,
"prompt": prompt,
"stream": False
}
response = requests.post(OLLAMA_URL, json=payload, timeout=120)
response.raise_for_status()
return response.json()["response"]
def review_code(filepath: str) -> None:
with open(filepath, "r") as f:
code = f.read()
prompt = f"""Review kode Python berikut. Identifikasi bug, masalah performa,
dan pelanggaran best practice. Jawab dalam Bahasa Indonesia.
```python
{code}
```"""
print(f"Reviewing {filepath}...\n")
result = ask_ollama(prompt)
print(result)
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python review.py <file.py>")
sys.exit(1)
review_code(sys.argv[1])
Jalankan:
python review.py mymodule.py
Kamu bisa hook script ini ke pre-commit dengan pre-commit framework supaya review jalan otomatis sebelum setiap commit.
Gotcha yang Gue Temuin
1. First token latency tinggi
Waktu pertama kali nanya setelah server baru start, response bisa lambat 5–15 detik karena model harus load ke memori. Request kedua dan seterusnya jauh lebih cepat. Ini normal — bukan bug.
2. RAM swap bikin laptop nge-freeze
Kalau RAM kamu pas-pasan dan kamu pull model yang terlalu besar, sistem bakal agresif pakai swap dan laptop bisa hang. Aturan praktis: ukuran model (dalam GB) harus muat di RAM fisik kamu dengan sisa minimal 4 GB buat OS dan editor. Laptop 16 GB RAM → maksimal model ~10 GB.
3. Ollama serve vs. systemd service
Di Linux, installer otomatis buat systemd service. Tapi kalau kamu jalankan ollama serve manual di terminal yang sama dengan project kamu, terus terminal itu ditutup, server mati. Cek status service:
systemctl status ollama
Kalau mati:
sudo systemctl start ollama
sudo systemctl enable ollama # biar auto-start
4. Model context window terbatas
Model 7B biasanya punya context window 4K–8K token. Kalau kamu paste file kode yang panjang banget, model bisa "lupa" bagian awal. Solusinya: pecah pertanyaan kamu, atau pakai model yang support context lebih panjang seperti qwen2.5-coder:14b (butuh RAM lebih besar).
5. GPU acceleration di Linux
Kalau kamu punya GPU NVIDIA, Ollama otomatis detect dan pakai CUDA. Pastikan driver NVIDIA dan CUDA toolkit sudah ter-install. Cek apakah GPU dipakai:
ollama ps
# NAME ID SIZE PROCESSOR UNTIL
# qwen2.5-coder:7b ... 5.2 GB 100% GPU ...
Kolom PROCESSOR harus 100% GPU, bukan 100% CPU. Kalau masih CPU, berarti CUDA belum kedetect.
Model Mana yang Cocok untuk Kamu?
| Model | Ukuran | RAM Minimum | Cocok untuk |
|---|---|---|---|
qwen2.5-coder:1.5b |
~1 GB | 4 GB | Autocomplete cepat |
qwen2.5-coder:7b |
~4.7 GB | 8 GB | Chat, explain, review |
deepseek-coder:6.7b |
~4.1 GB | 8 GB | Alternatif solid |
codellama:13b |
~8 GB | 16 GB | Task kompleks |
qwen2.5-coder:14b |
~9 GB | 20 GB | Context panjang |
Untuk kebanyakan solo developer dengan laptop 16 GB, kombinasi qwen2.5-coder:7b (chat) + qwen2.5-coder:1.5b (autocomplete) adalah sweet spot terbaik.
Yang Gue Lakuin Sekarang
Setup ini sudah gue pakai sehari-hari selama dua bulan terakhir. Beberapa hal yang langsung gue rasain:
- Zero latency network — response terasa lebih snappy dibanding nunggu API OpenAI dari Indonesia.
- Privasi terjaga — kode klien nggak kemana-mana.
- Biaya nol — setelah setup awal, tidak ada recurring cost.
Langkah lanjutan yang bisa kamu explore:
- Expose Ollama ke jaringan lokal supaya bisa diakses dari device lain (tambahkan
OLLAMA_HOST=0.0.0.0di environment variable service-nya). - Integrasikan ke Neovim pakai plugin gen.nvim kalau kamu tim Neovim.
- Buat MCP server custom di atas Ollama API untuk workflow yang lebih kompleks.
- Coba model multimodal seperti
llavakalau kamu perlu analisis screenshot atau diagram arsitektur.
Coba dulu setup dasarnya, pastikan curl ke API bisa jalan, baru integrasi ke editor. Jangan skip step verifikasi — this guide itu yang paling sering bikin orang stuck di tengah jalan.