---
title: "Cara Pasang LiteLLM sebagai Router Banyak Model AI"
description: "Pasang LiteLLM Proxy dengan Docker agar aplikasi memanggil OpenAI, Anthropic, Ollama, dan vLLM lewat satu API, lengkap dengan kunci dan fallback."
url: "https://nivelva.com/insight/cara-pasang-litellm-sebagai-router-banyak-model-ai"
category: "AI \u0026 Otomasi"
tags: ["litellm","ai gateway","llm","docker","api ai"]
author: "Theresia Candiawan"
published: "2026-11-07T14:05:00+07:00"
updated: "2026-11-07T14:05:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Cara Pasang LiteLLM sebagai Router Banyak Model AI

> **Jawaban singkat:** LiteLLM Proxy adalah gateway open-source yang menyatukan banyak penyedia model AI di balik satu API format OpenAI. Pasang dengan Docker, daftarkan model di config.yaml, set LITELLM_MASTER_KEY, lalu aplikasi cukup memanggil port 4000. Tambahkan Postgres bila butuh kunci per tim dan pencatatan biaya.

Aplikasimu memanggil OpenAI untuk satu fitur, Claude untuk fitur lain, dan model lokal di Ollama untuk data sensitif? Setiap penyedia punya format API, kunci, dan cara menangani error sendiri. Lama-lama kode jadi penuh percabangan. LiteLLM Proxy menyelesaikan ini dengan menjadi satu pintu: aplikasi hanya bicara dengan LiteLLM memakai format OpenAI, dan LiteLLM yang meneruskan ke penyedia yang tepat.

Konsep di baliknya disebut [AI gateway](https://nivelva.com/insight/apa-itu-ai-gateway). Selain menyatukan API, LiteLLM bisa membagi beban ke beberapa server, mengalihkan ke model cadangan saat satu penyedia bermasalah, dan memberi kunci terpisah per tim. Panduan ini memakai Docker di server Linux dan mengacu ke dokumentasi resmi LiteLLM per 7 November 2026.

## Bagaimana memasang LiteLLM Proxy?

### Langkah 1: Siapkan server dan Docker

LiteLLM Proxy sendiri ringan karena tidak menjalankan model, hanya meneruskan permintaan. VPS kecil sudah cukup untuk memulai. Pasang Docker dan Docker Compose lebih dulu, misalnya dengan panduan [install Docker di Ubuntu](https://nivelva.com/insight/install-docker-compose-ubuntu).

Buat folder kerja:

```
mkdir -p ~/litellm && cd ~/litellm
```

### Langkah 2: Buat kunci utama

LiteLLM membutuhkan `LITELLM_MASTER_KEY` sebagai kunci akar. Menurut dokumentasinya, proxy menolak berjalan tanpa kunci ini, dan kunci yang sama menjadi kata sandi default Admin UI. Buat file `.env` berisi kunci acak dan kunci API penyedia:

```
printf 'LITELLM_MASTER_KEY=sk-%s\nLITELLM_SALT_KEY=sk-%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
echo 'OPENAI_API_KEY=isi-kunci-openai' >> .env
echo 'ANTHROPIC_API_KEY=isi-kunci-anthropic' >> .env
chmod 600 .env
```

`LITELLM_SALT_KEY` dipakai untuk mengenkripsi kunci penyedia yang kamu tambahkan lewat UI. Simpan baik-baik, karena kalau diganti, kredensial yang tersimpan tidak bisa dibaca lagi.

### Langkah 3: Daftarkan model di config.yaml

Buat `config.yaml`. Kolom `model_name` adalah nama yang dipanggil aplikasi, sedangkan `litellm_params.model` menunjuk penyedia dan model sebenarnya dengan awalan penyedia:

```
model_list:
  - model_name: cepat
    litellm_params:
      model: openai/NAMA_MODEL_OPENAI
      api_key: os.environ/OPENAI_API_KEY
  - model_name: pintar
    litellm_params:
      model: anthropic/NAMA_MODEL_CLAUDE
      api_key: os.environ/ANTHROPIC_API_KEY
  - model_name: lokal
    litellm_params:
      model: ollama_chat/llama3.2:3b
      api_base: http://IP_SERVER_OLLAMA:11434
  - model_name: lokal-gpu
    litellm_params:
      model: hosted_vllm/Qwen/Qwen2.5-7B-Instruct
      api_base: http://IP_SERVER_VLLM:8000
      api_key: os.environ/VLLM_API_KEY

litellm_settings:
  num_retries: 2
  request_timeout: 60
```

Ganti `NAMA_MODEL_...` dengan ID model dari dokumentasi penyedia. Sintaks `os.environ/NAMA` membuat LiteLLM membaca kunci dari variabel lingkungan, jadi kunci tidak tertulis di file konfigurasi. Untuk Ollama, dokumentasi LiteLLM menyarankan awalan `ollama_chat/`. Untuk server vLLM, pakai awalan `hosted_vllm/` (sertakan `VLLM_API_KEY` di `.env` bila server vLLM-mu memakai kunci). Hapus entri yang tidak kamu pakai.

Memakai nama samaran seperti `cepat` dan `pintar` punya keuntungan: kalau suatu hari kamu ganti model, cukup ubah konfigurasi tanpa menyentuh kode aplikasi.

### Langkah 4: Jalankan container

```
docker run -d --name litellm --restart unless-stopped \
  --env-file .env \
  -v $(pwd)/config.yaml:/app/config.yaml \
  -p 127.0.0.1:4000:4000 \
  docker.litellm.ai/berriai/litellm:latest \
  --config /app/config.yaml
```

Perhatikan `127.0.0.1:4000:4000`. Port hanya dibuka untuk server itu sendiri. Tanpa awalan alamat, Docker akan membuka port ke semua antarmuka, bahkan melewati aturan UFW. Kalau Ollama berjalan di server yang sama tetapi di luar Docker, alamat `localhost` dari dalam container tidak menunjuk ke host, jadi pakai IP host atau atur jaringan Docker dengan sesuai. Cek log dengan `docker logs -f litellm`.

### Langkah 5: Uji dengan curl

```
curl http://127.0.0.1:4000/v1/chat/completions \
  -H "Authorization: Bearer ISI_LITELLM_MASTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"cepat","messages":[{"role":"user","content":"Halo dalam lima kata."}]}'
```

Ganti `cepat` dengan `pintar` atau `lokal` untuk menguji model lain. Di aplikasi, set `base_url` SDK OpenAI ke alamat LiteLLM dan pakai kunci LiteLLM, bukan kunci penyedia.

### Langkah 6: Tambahkan database untuk kunci per tim

Konfigurasi di atas sudah cukup sebagai router. Tetapi untuk membuat virtual key, misalnya satu kunci per aplikasi dengan batas anggaran sendiri, LiteLLM butuh database Postgres. Dokumentasi resminya menyebut permintaan dengan virtual key akan gagal bila database tidak terhubung.

Cara termudah adalah memakai berkas `docker-compose.quickstart.yml` dari repositori LiteLLM yang sudah berisi gateway dan Postgres, lalu menambahkan mount `config.yaml` milikmu. Setelah itu, Admin UI tersedia di `/ui` dengan pengguna `admin` dan kata sandi dari `LITELLM_MASTER_KEY`. Pengaturan anggaran dan kuota dibahas di [membatasi kuota dan biaya API AI per tim](https://nivelva.com/insight/membatasi-kuota-biaya-api-ai-per-tim-aplikasi).

### Langkah 7: Buka ke jaringan dengan aman

Kalau aplikasi berada di server lain, jangan buka port 4000 langsung. Taruh reverse proxy seperti Nginx atau Caddy dengan HTTPS di depannya, atau hubungkan server lewat jaringan privat. Jangan bagikan master key ke aplikasi. Buat virtual key untuk tiap aplikasi agar mudah dicabut bila bocor.

## Pengaturan apa yang sering ditambahkan?

| Kebutuhan | Pengaturan di config.yaml | Catatan |
|:--|:--|:--|
| Coba ulang saat error | `litellm_settings.num_retries` | Mulai dari 2 |
| Batas waktu | `litellm_settings.request_timeout` | Dalam detik |
| Model cadangan | `router_settings.fallbacks` | Dibahas di artikel fallback |
| Bagi beban ke beberapa server | Beberapa entri dengan `model_name` sama | Pilih `routing_strategy` |
| Jeda untuk server yang sering gagal | `router_settings.allowed_fails` dan `cooldown_time` | Server dilewati sementara |

Pengaturan model cadangan secara rinci ada di [fallback otomatis antar model AI](https://nivelva.com/insight/fallback-otomatis-antar-model-ai-provider-down).

## Pertanyaan yang sering diajukan

### Apakah LiteLLM menambah latensi?

Ada tambahan kecil karena permintaan melewati satu lompatan lagi. Untuk sebagian besar aplikasi, ini jauh lebih kecil dibanding waktu model menghasilkan jawaban. Letakkan LiteLLM dekat dengan aplikasimu.

### Apakah LiteLLM gratis?

Inti LiteLLM Proxy bersifat open-source dan bisa dijalankan sendiri. Ada juga fitur dan layanan berbayar untuk perusahaan. Cek halaman resminya untuk rincian terbaru.

### Bisakah aplikasi memanggil model Claude dengan format OpenAI lewat LiteLLM?

Bisa. LiteLLM menerjemahkan permintaan format OpenAI ke API penyedia yang dituju, lalu mengembalikan jawaban dalam format OpenAI.

### Bagaimana memperbarui LiteLLM?

Tarik image terbaru, hentikan dan hapus container lama, lalu jalankan ulang dengan perintah yang sama. Konfigurasi dan .env tetap di folder host. Baca catatan rilis karena beberapa versi mengubah perilaku.

Checklist setelah pemasangan:

- `.env` berizin 600 dan tidak masuk repositori kode.
- Port 4000 hanya terikat ke `127.0.0.1` atau jaringan privat.
- Semua model di `config.yaml` lolos uji curl.
- Aplikasi memakai virtual key, bukan master key.
- Akses dari luar lewat HTTPS.

## Sumber

- <https://docs.litellm.ai/docs/proxy/docker_quick_start>
- <https://docs.litellm.ai/docs/providers/ollama>
- <https://docs.litellm.ai/docs/providers/vllm>
- <https://docs.litellm.ai/docs/proxy/reliability>

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/cara-pasang-litellm-sebagai-router-banyak-model-ai
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
