LiteLLM + Neosantara Panduan Provider

LiteLLM adalah AI gateway open-source paling populer — dengan lebih dari 50.900 GitHub stars, 140+ provider yang didukung, dan 96M unduhan PyPI per bulan. Neosantara tersedia sebagai native provider menggunakan prefix model neosantara/, memberikan akses penuh ke katalog model Neosantara melalui interface terpadu LiteLLM tanpa perlu konfigurasi kustom.
Di panduan ini, kamu akan menyiapkan LiteLLM dengan Neosantara dari awal: autentikasi, chat completion, streaming, tool calling, Responses API, dan konfigurasi proxy. Kamu akan beralih dari pip install ke routing traffic produksi dalam waktu kurang dari 10 menit.
Key Takeaways
- LiteLLM mendukung Neosantara sebagai native provider dengan prefix
neosantara/— setara dengan cara LiteLLM menangani OpenAI, Anthropic, dan Google (Dokumentasi Neosantara, 2026)- Install dengan
pip install litellm, setNEOSANTARA_API_KEY, dan route ke model Neosantara mana pun denganmodel="neosantara/<model-id>"- Dukungan penuh: chat completion, streaming, tool calling, Responses API, dan LiteLLM Proxy
- Akses 40+ model Neosantara termasuk Claude Opus 4.6, Gemini 3 Flash, Kimi K2, dan DeepSeek R1
Tidak seperti adapter OpenAI-compatible yang memerlukan konfigurasi base URL manual di setiap request, integrasi native LiteLLM Neosantara bekerja melalui registry provider resmi BerriAI. LiteLLM menyelesaikan base URL, autentikasi, dan routing secara otomatis — pengalaman developer yang sama seperti menggunakan OpenAI atau Anthropic langsung melalui LiteLLM.
Prasyarat
Sebelum memulai, pastikan kamu memiliki:
- Python 3.9+ terinstal di sistem kamu
- API key Neosantara — daftar di app.neosantara.xyz untuk mendapatkan kredit gratis Rp 10.000
- Familiaritas dasar dengan Python dan alat command-line
- Sekitar 10 menit untuk menyelesaikan panduan ini
Diuji pada: Python 3.12, LiteLLM v1.89.2+, Ubuntu 24.04
Yang Akan Kamu Bangun
Kamu akan membangun aplikasi Python yang menggunakan LiteLLM untuk merutekan request melalui Neosantara. Pada akhirnya, kamu akan memiliki:
- Satu script Python yang memanggil model Neosantara mana pun melalui LiteLLM
- Respons streaming dengan output real-time
- Tool/function calling untuk workflow agent terstruktur
- Integrasi dengan LiteLLM Proxy server untuk deployment produksi
Kode yang sama bekerja dengan provider mana pun yang didukung LiteLLM — cukup ganti string model.
Menyiapkan LiteLLM dan Neosantara
Instalasi dan autentikasi memakan waktu kurang dari 2 menit. LiteLLM menangani semua resolusi provider setelah lingkungan kamu dikonfigurasi.
Langkah 1: Install LiteLLM
Install LiteLLM di environment Python kamu:
pip install -U litellmFlag -U memastikan kamu mendapatkan versi terbaru (v1.89.2+ per Juni 2026). LiteLLM adalah dependensi tunggal tanpa ekstra yang diperlukan untuk mode SDK.
Langkah 2: Set API Key
Set API key Neosantara sebagai environment variable:
export NEOSANTARA_API_KEY="nsk_..."Dapatkan API key dari dashboard Neosantara. Format key dimulai dengan nsk_.
Verifikasi setup kamu:
import litellm
print(f"LiteLLM version: {litellm.__version__}")Output yang diharapkan:
LiteLLM version: 1.89.2
Perhatian: Jika LiteLLM menampilkan versi yang lebih rendah, upgrade dengan
pip install -U litellm. Native provider Neosantara ditambahkan di v1.79+ tetapi versi terbaru memiliki integrasi paling stabil.
Langkah 1: Chat Completion Pertama
Dengan LiteLLM terinstal dan API key sudah diatur, membuat request pertama adalah panggilan fungsi tunggal.
from litellm import completion
response = completion(
model="neosantara/gemini-3.5-flash",
messages=[
{
"role": "user",
"content": "Jelaskan apa yang dilakukan Neosantara dalam satu kalimat.",
}
],
max_tokens=120,
)
print(response.choices[0].message.content)Apa yang baru saja terjadi: Prefix neosantara/ memberi tahu LiteLLM untuk merutekan request melalui provider Neosantara. LiteLLM secara otomatis menyelesaikan NEOSANTARA_API_KEY dan base URL default (https://api.neosantara.xyz/v1). Respons kembali sebagai objek OpenAI ChatCompletion standar.
Output yang diharapkan:
Neosantara adalah AI gateway Indonesia yang menyediakan akses API terpadu ke 40+ model terkemuka — termasuk Claude, Gemini, GPT, dan DeepSeek — dengan penagihan Rupiah dan infrastruktur lokal dengan latensi rendah.
Dalam pengujian kami, respons pertama dari LiteLLM + Neosantara memakan waktu sekitar 800-1200ms termasuk handshake resolusi provider. Request berikutnya ke model yang sama rata-rata 300-600ms melalui gateway lokal Indonesia Neosantara — jauh lebih cepat daripada routing melalui provider berbasis AS atau UE untuk developer ASEAN.
Langkah 2: Streaming Responses
Untuk aplikasi real-time seperti chatbot atau code assistant, streaming mengirimkan token saat dihasilkan. LiteLLM menjadikannya perubahan satu parameter.
from litellm import completion
response = completion(
model="neosantara/claude-sonnet-4-6",
messages=[
{"role": "user", "content": "Tulis haiku pendek tentang API."}
],
stream=True,
max_tokens=200,
)
for chunk in response:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)Apa yang baru saja terjadi: Mengatur stream=True mengalihkan LiteLLM untuk mengembalikan iterator potongan. Setiap potongan berisi delta dengan token baru. end="" dan flush=True memastikan token tercetak saat tiba, meniru pengalaman chatbot real-time.
Langkah 3: Tool Calling (Function Calling)
Tool calling memungkinkan LLM kamu meminta data atau tindakan eksternal — memeriksa status pesanan, menanyakan database, atau memanggil API. Model Neosantara mendukung ini melalui LiteLLM, dengan satu parameter tambahan.
LiteLLM menolak parameter tools dan tool_choice untuk provider non-OpenAI secara default — pengaman yang mencegah kebocoran parameter ke provider yang tidak mendukungnya. Neosantara mendukung tool calling, jadi kamu harus secara eksplisit memilih dengan allowed_openai_params. Sebagian besar developer melewatkan ini pada percobaan pertama.
from litellm import completion
tools = [
{
"type": "function",
"function": {
"name": "get_order_status",
"description": "Cari status pengiriman untuk sebuah pesanan.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "ID pesanan pelanggan.",
}
},
"required": ["order_id"],
},
},
}
]
response = completion(
model="neosantara/gemini-3.5-flash",
messages=[
{"role": "user", "content": "Cek status pesanan INV-2045."}
],
tools=tools,
tool_choice="auto",
allowed_openai_params=["tools", "tool_choice"],
max_tokens=200,
)
tool_calls = response.choices[0].message.tool_calls
if tool_calls:
for tc in tool_calls:
print(f"Tool: {tc.function.name}")
print(f"Args: {tc.function.arguments}")Apa yang baru saja terjadi: LiteLLM merutekan definisi tool ke endpoint OpenAI-compatible Neosantara. Model mengembalikan array tool_calls dengan nama fungsi dan argumen. Aplikasi kamu kemudian mengeksekusi fungsi yang sebenarnya dan mengembalikan hasilnya dalam pesan lanjutan.
Output yang diharapkan:
Tool: get_order_status
Args: {"order_id": "INV-2045"}
Perhatian: Selalu sertakan
allowed_openai_params=["tools", "tool_choice"]saat menggunakan tool calling dengan Neosantara. Tanpa itu, LiteLLM secara diam-diam menjatuhkan parameter tool dan model merespons dengan teks biasa, bukan panggilan tool terstruktur.
Langkah 4: Responses API
LiteLLM v1.79+ menambahkan dukungan native untuk format Responses API OpenAI. Neosantara mendukung ini melalui jalur completion() standar dan helper responses() khusus.
from litellm import responses
response = responses(
model="neosantara/gemini-3.5-flash",
input="Balas dengan checklist peluncuran singkat.",
max_completion_tokens=200,
)
print(response.output[0].content[0].text)Langkah 5: LiteLLM Proxy dengan Neosantara
Untuk deployment produksi, Proxy server LiteLLM menambahkan virtual key, rate limiting, cost tracking, dan manajemen tim. Berikut cara mengkonfigurasi Neosantara sebagai provider di belakang proxy.
Buat Config Proxy
Buat file config.yaml:
model_list:
- model_name: neosantara-gemini-flash
litellm_params:
model: neosantara/gemini-3.5-flash
api_key: os.environ/NEOSANTARA_API_KEY
- model_name: neosantara-claude-sonnet
litellm_params:
model: neosantara/claude-sonnet-4-6
api_key: os.environ/NEOSANTARA_API_KEY
- model_name: neosantara-deepseek-r1
litellm_params:
model: neosantara/deepseek-r1
api_key: os.environ/NEOSANTARA_API_KEY
general_settings:
master_key: os.environ/LITELLM_MASTER_KEYJalankan Proxy
export NEOSANTARA_API_KEY="nsk_..."
export LITELLM_MASTER_KEY="sk-1234"
litellm --config config.yaml --port 4000Panggil Melalui Proxy
Dengan proxy berjalan, arahkan OpenAI SDK kamu ke http://localhost:4000:
from openai import OpenAI
client = OpenAI(
api_key="sk-1234", # LiteLLM master key
base_url="http://localhost:4000"
)
response = client.chat.completions.create(
model="neosantara-gemini-flash",
messages=[{"role": "user", "content": "Halo dari proxy!"}],
)
print(response.choices[0].message.content)Setup proxy adalah tempat LiteLLM benar-benar bersinar untuk tim. Kami melihat tim merutekan 60-70% traffic mereka melalui Neosantara untuk pengguna ASEAN (untuk latensi) dan fallback ke OpenAI atau Anthropic untuk workload yang membutuhkan endpoint AS/UE — semuanya ditangani secara transparan oleh kebijakan routing dan fallback proxy.
Pemilihan Model
LiteLLM mendukung semua model di katalog Neosantara melalui prefix neosantara/<model-id>. Gunakan Neosantara Models Overview untuk menemukan ID model.
| Workload | Model Rekomendasi | String Model LiteLLM |
|---|---|---|
| Chat umum, respons cepat | Gemini 3.5 Flash | neosantara/gemini-3.5-flash |
| Reasoning kompleks, analisis | Claude Sonnet 4.6 | neosantara/claude-sonnet-4-6 |
| Code generation, matematika | DeepSeek R1 | neosantara/deepseek-r1 |
| Agent tool calling | Gemini 3.5 Flash | neosantara/gemini-3.5-flash |
| Tugas hemat biaya | Kimi K2 | neosantara/kimi-k2 |
Pemecahan Masalah
| Masalah | Gejala | Solusi |
|---|---|---|
| Autentikasi gagal | AuthenticationError: No API key provided | Set NEOSANTARA_API_KEY — key harus dimulai dengan nsk_ |
| Error provider tidak dikenal | litellm.NotFoundError: neosantara not in model list | Update LiteLLM ke v1.79+: pip install -U litellm |
| Tool calling mengembalikan teks | Respons model berupa teks biasa | Tambahkan allowed_openai_params=["tools", "tool_choice"] ke request |
| Request ke host salah | Respons dari model/provider tak terduga | Hapus NEOSANTARA_API_BASE untuk menggunakan endpoint default |
| Proxy mengembalikan 404 | 404 model not found | Verifikasi nama model di config.yaml cocok dengan field model_name |
Pertanyaan yang Sering Diajukan
Apakah LiteLLM menambah latensi pada request Neosantara?
Overhead minimal — routing LiteLLM menambah 5-50ms per panggilan tergantung pada apakah mengenai logika routing, rantai fallback, atau jalur retry (LiteLLM Benchmarks, 2026). Untuk aplikasi yang sensitif terhadap latensi, gateway lokal Indonesia Neosantara adalah faktor dominan.
Bisakah saya mencampur Neosantara dengan provider lain dalam satu request?
Ya. LiteLLM memungkinkan kamu mengkonfigurasi banyak provider dan merutekan berdasarkan nama model. Kamu dapat mengatur Neosantara sebagai primary dan fallback ke OpenAI atau Anthropic secara otomatis saat terjadi kegagalan.
Model apa saja yang tersedia melalui Neosantara di LiteLLM?
Semua 40+ model di katalog Neosantara — termasuk Claude Opus 4.6, Gemini 3 Flash, Kimi K2, DeepSeek R1, Grok 4.1 Fast, Archipelago 70B, dan GPT-5.4 — dapat diakses melalui prefix neosantara/. Lihat daftar lengkap di app.neosantara.xyz/models.
Apakah LiteLLM siap produksi dengan Neosantara?
LiteLLM digunakan oleh Stripe, Netflix, OpenAI Agents SDK, dan Google ADK (LiteLLM README, 2026). Dengan 1.364+ rilis dan latensi P95 8ms pada 1k RPS, LiteLLM sudah teruji. Pastikan untuk mem-pin versi LiteLLM di produksi.
Langkah Selanjutnya
Kamu sekarang memiliki setup LiteLLM + Neosantara yang berfungsi untuk chat completion, streaming, tool calling, dan routing produksi berbasis proxy.
Kembangkan setup ini:
- Tambahkan load balancing antar region Neosantara dengan beberapa entri model di
config.yaml - Aktifkan cost tracking dengan
success_callback: ["langfuse"]dari LiteLLM - Siapkan fallback models sehingga traffic dirutekan ke OpenAI atau Anthropic jika Neosantara tidak tersedia
Sumber daya terkait:
Mulai Gunakan Neosantara dengan LiteLLM
Daftar Neosantara, install LiteLLM, dan lakukan panggilan API pertama dalam waktu kurang dari 5 menit. Dapatkan saldo kredit gratis Rp 10.000.
Mulai Gratis · Dokumentasi LiteLLM
Tautan Bermanfaat:
- 📖 Dokumen Neosantara: Panduan integrasi resmi
- 🚀 LiteLLM GitHub: Kode sumber dan issues
- 🤖 Lihat Model: Jelajahi model yang tersedia
- 💬 LiteLLM Discord: Dukungan komunitas



