INTINYA
AI lokal berjalan di perangkat keras Anda, tidak memakan biaya per permintaan, dan menjaga data tetap pribadi. AI berbasis API lebih cepat untuk memulai, lebih mumpuni, dan skalanya tanpa infrastruktur. Sebagian besar tim membutuhkan keduanya. Panduan ini membahas kapan setiap pendekatan unggul, dengan angka-angka konkret.
Pendahuluan
Gemma 4 berjalan secara natif di iPhone. Ekstensi browser yang menyematkan model bahasa penuh tanpa kunci API. Hal-hal ini tidak mungkin terjadi 18 bulan yang lalu. Hari ini, mereka dirilis di HackerNews.
Dulu, keputusannya sederhana: model frontier hanya berbasis API, yang lainnya terlalu lemah untuk dipertimbangkan. Sekarang, model lokal seperti Qwen2.5-72B, Gemma 4, dan DeepSeek-V3 mulai bersaing dalam benchmark nyata. Banyak developer yang tadinya langsung pakai API OpenAI, mulai mempertimbangkan opsi self-hosted, khususnya untuk aplikasi sensitif privasi atau tugas bervolume tinggi di mana biaya per token cepat naik.
Artikel ini fokus pada angka konkret: biaya, latensi, dan kemampuan, agar Anda bisa memutuskan pendekatan mana yang tepat untuk use case Anda.
π‘ Jika Anda menguji integrasi API AI (lokal maupun cloud), Skenario Uji Apidog bisa digunakan di keduanya. Anda cukup arahkan ke endpoint llama-server lokal atau ke
/v1/chat/completionsOpenAI, dan jalankan asersi yang sama. Lihat [internal: api-testing-tutorial] untuk tutorial pengujian dasar.
Apa Arti Sebenarnya "Menjalankan AI Secara Lokal"
AI lokal tidak selalu berarti satu hal. Ada tiga pengaturan utama:
- Inferensi di perangkat: Model berjalan sepenuhnya di device, tanpa server. Contoh: Gemma 4 di Neural Engine iPhone, model Ollama di MacBook. Setelah download, tidak butuh internet.
- Server self-hosted: Model dijalankan di server Anda sendiri (workstation, VM cloud, atau on-premises), lalu diekspos via API. Tidak di device user, tapi juga bukan di OpenAI. Tools: llama-server, Ollama, vLLM.
- Cloud privat: Model di-deploy di cloud infrastructure Anda sendiri (misal: model kustom AWS Bedrock, Azure endpoint privat, GCP Vertex AI custom). Kontrol lebih besar dari API publik, lebih simpel dari self-hosted full.
Fokus perbandingan di artikel ini: self-hosted vs. API publik, karena ini yang paling sering dihadapi developer.
Perbandingan Biaya
AI lokal sangat unggul untuk workload bervolume tinggi.
Harga API Publik (April 2026):
| Model | Input (per 1 Juta token) | Output (per 1 Juta token) |
|---|---|---|
| GPT-4o | $2.50 | $10.00 |
| Claude 3.5 Sonnet | $3.00 | $15.00 |
| Gemini 1.5 Pro | $1.25 | $5.00 |
| GPT-4o mini | $0.15 | $0.60 |
| Claude 3 Haiku | $0.25 | $1.25 |
Estimasi biaya self-hosted (Qwen2.5-72B di A100 80GB):
- Satu A100 80GB (Lambda Labs) β $1.99/jam (on-demand).
- Qwen2.5-72B (INT4) muat di satu A100, throughput ~200 token/detik.
- 200 token/detik Γ 3600 detik = 720K token/jam. Biaya: $0.0028/1K token (input+output).
- Sebagai perbandingan, GPT-4o: $0.01/1K token output.
Titik impas: Jika Anda proses >70K token output/hari stabil, self-hosted lebih murah dari GPT-4o. Di bawah itu, API lebih efisien karena tak bayar idle GPU.
Model lebih ringan: Gemma 4 (12B, INT4) jalan di RTX 4090 (bekas $600-800). Dengan tarif cloud $0.40/jam, self-hosted lebih murah dari GPT-4o mini di 15K token output/hari.
Perbandingan Latensi
Waktu hingga token pertama (TTFT):
- A100 dedicated, 72B model, prompt 1K-token: TTFT ~800ms-1.5s.
- API OpenAI: token pertama ~300-800ms (beban normal).
- Inferensi di device (iPhone Neural Engine, Apple Silicon), Gemma 4: TTFT 200-400ms (tanpa network overhead).
Throughput:
- A100 + 72B INT4: 1 user lancar, turun jika concurrency tinggi tanpa batching. API publik scalable secara otomatis.
Streaming:
- Keduanya support streaming.
- Model di device: local generation, tanpa jitter jaringan.
- Model API: tergantung kondisi jaringan.
Ringkasan:
- Di device, latensi terendah.
- Self-hosted unggul untuk throughput besar (batching lewat vLLM).
- API publik: unggul untuk burst/traffic variatif & simplicity.
Perbandingan Kemampuan
Penalaran & tugas kompleks: GPT-4o, Claude 3.5 Sonnet masih unggul di MMLU, HumanEval, reasoning kompleks. Kesenjangan open-weight (Qwen2.5-72B, DeepSeek-V3) makin kecil, tapi masih ada.
Generasi kode: Sudah dekat. DeepSeek-Coder-V2, Qwen2.5-Coder-32B setara GPT-4o di banyak benchmark. Untuk tugas code-only, pakai model kode khusus di self-hosted.
Panjang konteks: API frontier support konteks 128K-1M token. Self-hosted umumnya mentok di 32K-128K (lebih panjang = kebutuhan memori naik drastis).
Multimodal: GPT-4o, Gemini 1.5 Pro support gambar, audio, video. Model open-weight multimodal (LLaVA, Qwen-VL) masih terbatas.
Pemanggilan fungsi / penggunaan alat: OpenAI & Anthropic paling reliable. Open-weight model ada function calling, tapi kurang konsisten di kasus rantai alat kompleks. Lihat [internal: how-ai-agent-memory-works] untuk detail arsitektur.
Privasi dan Kontrol Data
AI lokal menang mutlak di sini.
API publik:
- Prompt keluar dari jaringan Anda
- Data bisa disimpan provider (OpenAI simpan 30 hari, kecuali opt-out via API)
- Tunduk ke ToS provider (termasuk konten sensitif)
- Industri regulated (kesehatan, keuangan, hukum): compliance penghalang
Self-hosted:
- Prompt tetap di infrastruktur Anda
- Tidak ada third-party storage
- Kontrol penuh atas data
- Compliance (GDPR/HIPAA) lebih mudah
Untuk aplikasi dengan data kesehatan, dokumen legal, atau kode proprietary: self-hosted sering jadi pilihan wajib.
Cara Menguji Integrasi AI Terlepas dari Tempat Model Berjalan
Baik endpoint https://api.openai.com/v1/chat/completions, http://localhost:11434/api/chat (Ollama), atau http://localhost:8080/v1/chat/completions (llama-server), API-nya compatible OpenAI.
Skenario Uji Apidog bisa jalan di semua endpoint HTTP.
Contoh skenario:
{
"scenario": "Uji asap penyelesaian obrolan",
"environments": {
"local": {"base_url": "http://localhost:11434"},
"production": {"base_url": "https://api.openai.com"}
},
"steps": [
{
"name": "Penyelesaian dasar",
"method": "POST",
"url": "{{base_url}}/v1/chat/completions",
"body": {
"model": "{{model_name}}",
"messages": [{"role": "user", "content": "Katakan 'test passed' dan tidak ada yang lain"}],
"max_tokens": 20
},
"assertions": [
{"field": "status", "operator": "equals", "value": 200},
{"field": "response.choices[0].message.content", "operator": "contains", "value": "test passed"},
{"field": "response.usage.total_tokens", "operator": "less_than", "value": 50}
]
}
]
}
Jalankan skenario ini di Ollama lokal saat dev, di API OpenAI saat CI. Jika ada masalah, biasanya terkait:
- Format nama model (Ollama:
qwen2.5:72b, OpenAI:gpt-4o) - Struktur response function calling (perbedaan antar provider)
- Format streaming events (data vs delta vs full object)
Smart Mock Apidog berguna untuk simulasi model lokal di CI tanpa GPU. Konfigurasikan mock response yang kompatibel OpenAI, dan jalankan Skenario Uji. Lihat [internal: how-to-build-tiny-llm-from-scratch] untuk detail struktur response.
Menyiapkan Server Model Lokal dalam 10 Menit
1. Ollama (paling cepat untuk dev)
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Download model (Gemma 4 12B, VRAM 10GB)
ollama pull gemma4:12b
# Start server (OpenAI-compatible API di port 11434)
ollama serve
# Uji endpoint
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gemma4:12b",
"messages": [{"role": "user", "content": "Hello"}]
}'
2. vLLM (untuk produksi multi-user)
pip install vllm
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen2.5-72B-Instruct-AWQ \
--quantization awq \
--max-model-len 32768
API OpenAI-compatible akan tersedia di port 8000. Arahkan Apidog ke http://your-server:8000 dan jalankan Skenario Uji langsung.
Kapan Memilih Setiap Pendekatan
| Skenario | Lokal | API |
|---|---|---|
| Pemrosesan batch volume tinggi (>100K/hari) | Lebih murah | Mahal |
| Data sensitif privasi (kesehatan, hukum) | Diperlukan | Berisiko |
| Latensi terendah di perangkat | Terbaik | Tidak mungkin |
| Butuh frontier model | Tidak memadai | Diperlukan |
| Beban kerja burst/traffic variatif | Sulit diskalakan | Auto scale |
| Tidak ada GPU | Sulit | Mudah |
| Lingkungan dev/uji | Oke (Ollama) | Mahal |
| Tugas multimodal | Terbatas | Dukungan penuh |
| Regulated industry compliance | Lebih mudah | Perlu DPA |
Rekomendasi nyata: Gunakan API publik untuk produksi (Claude/GPT-4o untuk kualitas, Haiku/4o-mini untuk murah), dan Ollama lokal untuk dev & testing. Hasil: kualitas frontier di production, biaya nol di dev, dan API OpenAI-compatible di semua environment.
Lihat [internal: open-source-coding-assistants-2026] untuk diskusi asisten coding open source dalam ekosistem AI lokal.
Kesimpulan
Keputusan lokal vs API tidak hitam putih. Pilihan terbaik tergantung volume, privasi, latensi, dan kemampuan yang dibutuhkan.
Untuk developer aplikasi AI:
- Mulai dari API publik.
- Beralih ke self-hosted jika tagihan >$200-300/bulan.
- Pakai Ollama di local dev sejak awal.
Pastikan kode Anda tidak bergantung provider tertentu, gunakan API OpenAI-compatible di mana-mana.
Selalu uji kedua environment dengan Apidog untuk menemukan perbedaan subtle antara model lokal dan cloud sebelum jadi bug di production.
FAQ
Berapa GPU minimum untuk model lokal yang usable?
RTX 3060 (12GB) bisa Qwen2.5-7B/Gemma 4 4B full. RTX 4090 (24GB) untuk model 14B-20B INT4, model 34B INT2. Model 72B: butuh 2x 24GB atau A100/H100.
Apakah AI lokal bisa jalan di Apple Silicon?
Ya. Ollama support native, akselerasi Neural Engine. M3 Pro (18GB unified) jalan Qwen2.5-14B. M4 Max (128GB) bisa model 70B.
Kualitas output model lokal cukup untuk produksi?
Untuk coding, ringkasan, ekstraksi data: cukup dengan model 32B+. Untuk reasoning kompleks, penulisan bernuansa, pengetahuan dunia: model API frontier masih unggul.
Model lokal support function calling?
Ya, tapi reliability lebih rendah. Llama 3.1, Qwen2.5, Mistral support tools, tapi kurang konsisten dibanding GPT-4o/Claude 3.5 Sonnet di chain kompleks. Selalu uji dengan Skenario Uji Apidog sebelum produksi. Lihat [internal: claude-code] untuk detail function calling di model frontier.
Berapa biaya self-hosting model 70B di AWS?
p4d.24xlarge (8x A100 40GB): $32.77/jam on demand. Jalan model INT8 70B high throughput. g5.2xlarge (A10G 24GB): $1.21/jam untuk model INT4 14B. Reserved instance bisa diskon 30-40%.
Ollama vs llama.cpp?
llama.cpp = mesin inferensi inti. Ollama = wrapper REST API, manajemen model, dan CLI. Ollama cocok untuk dev, llama.cpp langsung (llama-server) jika butuh kontrol kuantisasi/config hardware lebih detil.
Bisa switch model lokal/API tanpa ubah kode?
Bisa, jika pakai klien OpenAI-compatible. Di Python:
openai.OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')
Untuk switch ke cloud, ubah base_url ke https://api.openai.com/v1 dan update api_key. Set via env, kode tidak perlu diubah.
Top comments (0)