Litelm: versi ringan LiteLLM cuma 1 file, zero dependency. Cocok buat developer yang pengen simpel tapi powerful.
Kamu pasti kenal LiteLLM kan? Library Python yang jadi standar de facto buat nge-handle panggilan ke berbagai provider LLM — OpenAI, Anthropic, Azure, Bedrock, kamu namain aja. Fiturnya lengkap banget: fallback otomatis, load balancing, streaming, caching, logging, bahkan budget control. Tapi ya udah, kelebihan fitur itu bikin dia jadi gemuk. Dependency-nya doang sudah ratusan, ukuran install bisa sampai puluhan mega. Buat project kecil atau yang cuma butuh fitur inti, kadang rasanya overkill.
Nah, di sinilah Litelm masuk ceritanya. Proyek ini dikembangkan oleh developer yang kepengen punya 'LiteLLM tapi tanpa bloat'. Konsepnya simpel: ambil fungsi inti aja — routing ke provider, streaming response, dan error handling basic — lalu buang semua yang nggak perlu. Hasilnya? Cuma satu file Python, nol dependency eksternal (hanya butuh standard library + `httpx` yang memang wajib buat HTTP client), dan ukurannya cuma sekitar 500 baris kode. Kamu bisa copy-paste file itu langsung ke project tanpa perlu `pip install` apapun kalau `httpx` udah ada.
Apa Saja Yang Dibuang?
Banyak banget. Pertama, sistem plugin dan callback yang bikin kode jadi spaghetti. Kedua, integrasi dengan framework kayak LangChain, LlamaIndex, atau Guardrails — kalau kamu nggak pakai framework itu, kenapa harus ikut install? Ketiga, fitur enterprise kayak budget tracking per user/team, detailed audit logging, dan proxy server built-in. Keempat, support untuk provider-provider niche yang mungkin cuma dipakai 0,1% user. Kelima, dependency transitive kayak `pydantic`, `tenacity`, `backoff`, dan segudang library utilitas yang sebenarnya bisa ditulis sendiri dalam beberapa baris.
Advertisement
Slot in-article yang tampil setelah paragraf ketiga.
Yang tersisa cuma yang benar-benar dipakai 90% developer sehari-hari: fungsi `completion()` dan `acompletion()` buat sync/async call, parameter standar kayak `model`, `messages`, `temperature`, `max_tokens`, `stream`, plus logic fallback sederhana kalau provider utama error. Streaming di-handle pakai `httpx` native streaming, jadi nggak perlu library tambahan. Error handling-nya minimal tapi cukup: cuma nge-wrap exception jadi format standar biar kamu gampang tangkap di `try/except`.
Kapan Cocok Pakai Litelm?
Kalau kamu bikin side project, MVP, atau internal tool yang cuma butuh nge-chat ke GPT-4 atau Claude — Litelm lebih dari cukup. Kamu nggak perlu install 50 package cuma buat kirim pesan ke API. Kalau project kamu di environment yang ketat soal dependency (misal: air-gapped server, container minimal, atau serverless function dengan size limit), Litelm jadi penyelamat. Juga cocok buat kamu yang pengen belajar cara kerja routing LLM di bawah capai — kodenya terbuka, pendek, dan gampang dibaca. Bisa jadi referensi kalau mau bikin wrapper sendiri.
Tapi jujur aja, kalo butuh fitur enterprise kayak budget enforcement per project, detailed cost tracking, proxy server buat multi-team, atau integrasi native ke observability stack kayak Datadog/Langfuse — tetap pakai LiteLLM asli. Litelm nggak mau jadi pengganti penuh, dia cuma opsi 'lightweight' buat use case yang simpel. Maintainer-nya sendiri bilang kalau Litelm itu 'complement, not replacement'.
Cara Pakai Nya Gampang Banget
Cukup copy file `litelm.py` ke project kamu, pastiin `httpx` udah terinstall (biasanya udah, karena banyak library lain yang butuh), lalu import dan pakai seperti biasa. Contohnya: `from litelm import completion` terus `completion(model='gpt-4o', messages=[{'role': 'user', 'content': 'Halo'}])`. Untuk async, ganti ke `acompletion`. Fallback? Tinggal tambah parameter `fallbacks=['claude-3-5-sonnet', 'gemini-1.5-pro']`. Streaming? Set `stream=True` dan iterasi response. Semua mirip API LiteLLM, jadi migrasi ambil menit doang.
Satu hal yang perlu diinget: Litelm masih proyek muda, jadi test dulu di staging sebelum ke production. Komunitasnya masih kecil, jadi kalo nemu bug mending buat PR atau issue di repo-nya. Tapi buat kebutuhan sehari-hari yang standar, dia sudah jalan lancar. Banyak developer di Hacker News yang komentar 'finally someone did this' — rasanya memang ada kebutuhan yang belum terpenuhi selama ini: library LLM client yang jujur soal scope-nya.
- Cocok buat MVP, side project, internal tool, serverless function
- Nggak cocok buat butuh budget tracking, proxy server, observability enterprise
- Migrasi dari LiteLLM cuma butuh ganti import dan hapus config yang nggak dipakai
- Kode terbuka, pendek, gampang di-custom kalau butuh behavior khusus
Catatan redaksi
Kalau lo cuma ambil satu hal dari artikel ini
AI Updates update dari Hacker News Front Page.
Sumber asli
Artikel ini merupakan rewrite editorial dari laporan Hacker News Front Page.
Baca artikel asli di Hacker News Front Page→