

Aplikasi AI Multi-Model: Routing & Fallback
Tutorial praktis aplikasi AI multi-model: satu klien kompatibel OpenAI, routing model OpenRouter, fallback otomatis, batas harga, dan pelacakan biaya.
Aplikasi AI produksi seharusnya tetap hidup saat sebuah model tumbang, tanpa harus membangunkan siapa pun. Pola yang membawa Anda ke sana membosankan tapi andal: satu klien kompatibel OpenAI, daftar model berperingkat, aturan routing yang memprioritaskan penyedia murah-tapi-sehat, dan batas harga yang keras.
Yang akan Anda bangun di tutorial ini:
-
Satu klien tunggal yang bisa memanggil GPT, Claude, Gemini, DeepSeek dan lainnya hanya dengan mengganti satu string
-
Fallback otomatis — jika model utama error atau timeout, permintaan dicoba ulang ke model berikutnya di daftar Anda
-
Kontrol biaya — routing termurah-dulu dan batas
max_priceagar lonjakan trafik tidak bisa membakar anggaran Anda -
Visibilitas pengeluaran — pencatatan biaya per permintaan yang bisa Anda log dan jadikan dasar alert
Semua di bawah ini memakai OpenRouter sebagai lapisan routing; arsitektur yang sama berfungsi dengan gateway kompatibel OpenAI mana pun, termasuk APIMart saat Anda butuh model gambar, video, atau audio di aplikasi yang sama.

Mengapa multi-model mengalahkan model tunggal
Gangguan itu soal kapan, bukan apakah
Setiap penyedia besar punya insiden yang terlihat publik. Jika aplikasi Anda meng-hardcode satu vendor, setiap insiden mereka menjadi insiden Anda. Rantai fallback mengubah "penyedia tumbang" menjadi sekadar kenaikan latensi sesaat.
Setiap model punya keunggulan berbeda
Model murah dan cepat menangani klasifikasi dan ekstraksi; model frontier menangani generasi yang berat penalaran. Mencampur tingkatan model per tugas rutin memangkas tagihan inferensi hingga separuh atau lebih.
Harga berubah tiap bulan
Harga model terus turun. Jika berganti model hanya perlu mengubah satu baris, Anda bisa mengejar rasio harga-performa terbaik setiap kuartal tanpa proyek migrasi.
Langkah 1: satu klien, banyak model
Arahkan SDK resmi OpenAI ke gateway — tanpa perlu kode HTTP kustom:
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-..."
)
resp = client.chat.completions.create(
model="anthropic/claude-sonnet-4.5",
messages=[{"role": "user", "content": "Summarize this contract clause..."}],
)
print(resp.choices[0].message.content)
Beralih ke deepseek/deepseek-chat atau google/gemini-2.5-pro hanyalah string model yang berbeda. Simpan nama model di konfigurasi, bukan di kode.
Versi TypeScript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://openrouter.ai/api/v1",
apiKey: process.env.OPENROUTER_API_KEY,
});
const resp = await client.chat.completions.create({
model: "deepseek/deepseek-chat",
messages: [{ role: "user", content: "Classify this ticket: ..." }],
});
Registry model, bukan string yang berserakan
Pusatkan pemetaan tugas → tingkatan model sekali saja:
{
"extract": "deepseek/deepseek-chat",
"chat": "anthropic/claude-sonnet-4.5",
"reason": "openai/gpt-5.2"
}
Langkah 2: fallback yang menyala otomatis
Array models
OpenRouter mencoba ulang permintaan di sisi server melintasi daftar berperingkat saat model utama error, terkena rate limit, atau timeout [1]:
{
"model": "openai/gpt-5.2",
"models": ["anthropic/claude-sonnet-4.5", "deepseek/deepseek-chat"],
"messages": [{ "role": "user", "content": "..." }]
}
Respons memberi tahu model mana yang benar-benar melayani permintaan — catat itu di log.
Failover di tingkat penyedia
Di bawah fallback model, setiap model bisa dilayani beberapa penyedia. Preferensi routing bisa mengunci atau mengecualikan upstream tertentu [2]:
{
"model": "meta-llama/llama-3.3-70b-instruct",
"provider": {
"order": ["deepinfra", "together"],
"allow_fallbacks": true
}
}
Jalan terakhir di sisi klien
Bungkus pemanggilan dengan satu kali retry ke gateway lain (atau respons dari cache) untuk kasus langka ketika router itu sendiri tak terjangkau. Cukup satu retry saja — badai retry adalah gangguan yang Anda ciptakan sendiri.
Langkah 3: kontrol biaya yang tak bisa dilewati
Routing termurah-dulu
Urutkan penyedia berdasarkan harga saat latensi bukan prioritas — bisa per permintaan ("provider": {"sort": "price"}) atau memakai sufiks model :floor untuk pekerjaan batch.
Batas harga yang keras
max_price menolak penyedia mana pun yang menawarkan harga di atas plafon Anda (dolar per 1M token):
{
"model": "openai/gpt-5.2",
"max_price": { "prompt": 1.5, "completion": 10 },
"messages": [{ "role": "user", "content": "..." }]
}
Ini jaminan, bukan preferensi — permintaan yang tak bisa dilayani di bawah plafon langsung gagal cepat alih-alih diam-diam menjadi lebih mahal.
Lacak biaya per permintaan
Respons menyertakan usage; kalikan dengan tarif model yang melayani lalu keluarkan sebagai metrik. Pasang alert pada pergeseran biaya-per-tugas, bukan hanya total pengeluaran — pergeseran itulah cara fallback diam-diam ke model yang lebih mahal menampakkan diri.
Lebih dari teks: pola yang sama untuk gambar, video, dan audio
Router LLM berhenti di model bahasa. Produk nyata juga menghasilkan gambar, video, dan suara — dan menjonglir lima SDK vendor tambahan menghadirkan kembali persis masalah yang baru saja Anda selesaikan.
Satu gateway untuk semua modalitas
APIMart menyediakan 500+ model — chat plus GPT-Image-2, Sora 2, Kling, Veo, Suno — di balik satu API kompatibel OpenAI dan satu saldo.
Integrasi yang familier, tarif diskon
Penyiapan klien identik dengan Langkah 1 hanya dengan base URL berbeda, dan harga per model sekitar 20% di bawah harga resmi — lihat halaman harga untuk tarif per model yang tepat.
Mencampur router itu sah-sah saja
Tata letak produksi yang umum: OpenRouter atau API langsung untuk teks, APIMart untuk generasi media — keduanya di balik abstraksi yang sama di kode Anda, keduanya bisa diganti lewat konfigurasi.
Tambahkan Model Gambar, Video & Audio ke Aplikasi Anda
Pertahankan arsitektur multi-model yang baru Anda bangun dan perluas melampaui teks — 500+ model, satu API kompatibel OpenAI, bayar sesuai pemakaian ~20% di bawah harga resmi.
Dapatkan API KeyChecklist produksi
Rilis dengan kelimanya: registry model berbasis konfigurasi, rantai fallback di sisi server, routing termurah-dulu di tempat yang latensinya longgar, batas max_price di setiap panggilan, dan metrik biaya per permintaan dengan alert pergeseran. Kombinasi itulah yang membuat tim dua orang mampu menjalankan aplikasi multi-model tanpa rotasi ops khusus.
Pilih model yang Anda inginkan di marketplace model
Coba model chat, gambar, dan video di marketplace model APIMart, lalu rasakan kemampuan model dengan cepat melalui satu API terpadu.
