GLM-5.3 FlashX and MiniMax H3 Max are now live on CometAPI →
technology/Riset CometAPI

Cara Mengarahkan Permintaan LLM ke Model yang Tepat untuk Setiap Tugas

Bangun router LLM yang mengarahkan permintaan sederhana, mendesak, dan kompleks ke tingkat biaya, kecepatan, atau akurasi melalui satu endpoint CometAPI.

CometAPI
Bobby SpencerTim riset model AI dan API
Diperbarui Sep 4, 2026 9 menit baca
Cara Mengarahkan Permintaan LLM ke Model yang Tepat untuk Setiap Tugas
Gunakan pola ini

Lakukan API call pertama.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_COMETAPI_KEY",
    base_url="https://api.cometapi.com/v1",
)

response = client.chat.completions.create(
    model="gpt-5-mini",
    messages=[{"role": "user", "content": "Build this workflow."}],
)

print(response.choices[0].message.content)

Jawaban singkat: arahkan permintaan di aplikasi Anda, lalu gunakan satu kunci CometAPI dan base URL yang kompatibel dengan OpenAI https://api.cometapi.com/v1 untuk memanggil model yang dipilih. Kirim pekerjaan yang berulang dan mudah diverifikasi ke tier berbiaya rendah; interaksi pelanggan yang sensitif terhadap latensi ke tier cepat; dan pekerjaan yang ambigu atau berdampak tinggi ke tier berakurasi tinggi. Pertahankan label sebagai kebijakan internal Anda—bukan peringkat model universal—dan ukur setiap tier pada himpunan uji yang sama.

Panduan ini membangun router tiga tier tersebut dengan contoh Python ringkas, fallback terbatas, dan model biaya yang menghitung percobaan ulang serta output yang ditolak. Contoh menggunakan ID model terkini dari katalog CometAPI, tetapi logika perutean tetap terpisah sehingga model dapat diganti tanpa menulis ulang aplikasi.

Apa itu LLM routing?

LLM routing adalah proses mengirim setiap permintaan ke model atau tier layanan yang paling sesuai dengan tugasnya, target latensi, persyaratan kualitas, dan anggaran.

Bagaimana Anda Harus Merutekan Permintaan LLM berdasarkan Tugas?

Per 20 Agustus 2026, ID model berikut dan field harga katalog tersedia melalui CometAPI Models API publik. Perkiraan tarif konsumen di bawah ini menerapkan nilai ratio katalog saat ini ke harga dasar input dan output, mengikuti panduan harga CometAPI. Konfirmasikan tarif final yang ditampilkan untuk akun Anda sebelum penggunaan produksi.

RuteGunakan untukModel contohPerkiraan USD / 1M tokenFallback pertama
MurahPelabelan, ekstraksi, deduplikasideepseek-v4-flash$0.176 input / $0.528 outputCepat
CepatBalasan pelanggan, ringkasan, asisten langsunggemini-3.7-flash$0.60 input / $3.00 outputMurah, lalu akurat
Akurasi tinggiTinjauan kebijakan, penalaran kompleks, draf berdampak tinggiclaude-opus-5$4.00 input / $20.00 outputCepat

“Cepat” berarti rute memiliki objektif latensi; “akurasi tinggi” berarti memiliki objektif kualitas yang lebih ketat. Tidak ada label yang membuktikan satu model selalu yang tercepat atau paling akurat. Ukur latensi p50 dan p95, tingkat kelulusan tugas, dan biaya per output yang diterima pada trafik Anda sendiri sebelum mematenkan pemetaan.

Bagaimana Cara Menyiapkan CometAPI untuk Router LLM?

Anda memerlukan kunci API CometAPI, Python 3.10 atau lebih baru, dan paket OpenAI Python. Simpan kunci di sisi server, bukan dalam kode sumber.

pip install openaiexport COMETAPI_KEY="your-key-here"

Contoh menggunakan POST /v1/chat/completions. CometAPI mendokumentasikannya sebagai antarmuka bersama untuk beberapa penyedia, namun perilaku parameter tetap dapat bervariasi per model. Periksa entri model saat ini dan referensi Chat Completions sebelum menambahkan field khusus penyedia.

Apa yang Anda Butuhkan untuk Membangun Router LLM?

  • Petakan tugas stabil ke tier layanan. Jangan minta LLM lain mengklasifikasikan setiap permintaan kecuali sinyal aplikasi sederhana tidak memadai. Tag dukungan dapat diprediksi sebagai pekerjaan tier murah; balasan langsung sensitif terhadap latensi; tinjauan kebijakan layak mendapat gerbang kualitas paling ketat.
  • Validasi output. Status HTTP yang berhasil tidak berarti hasilnya dapat digunakan. Oper validator khusus tugas ke router. Validator klasifikasi dapat memeriksa label yang diizinkan; validator balasan pelanggan dapat menegakkan panjang dan klaim terlarang; alur kerja terstruktur dapat memvalidasi skema JSON.
  • Fallback secara sempit. Coba rute disetujui berikutnya setelah timeout, 408, 429, 5xx sementara, atau kegagalan gerbang kualitas yang dibatasi. Jangan gunakan model lain untuk menyembunyikan input tidak valid, kunci tidak valid, atau parameter yang tidak didukung.

Bagaimana Cara Membangun Router LLM di Python?

import osimport time​from openai import APIError, OpenAI​client = OpenAI(    api_key=os.environ["COMETAPI_KEY"],    base_url="https://api.cometapi.com/v1",    max_retries=0,    timeout=20,)​MODELS = {    "cheap": "deepseek-v4-flash",    "fast": "gemini-3.7-flash",    "accurate": "claude-opus-5",}​# Put the preferred tier first; later tiers are fallbacks.ROUTES = {    "tag": ["cheap", "fast", "accurate"],    "reply": ["fast", "cheap", "accurate"],    "policy_review": ["accurate", "fast", "cheap"],}​​def retryable(error):    status = getattr(error, "status_code", None)    return status is None or status in {408, 429} or (status and status >= 500)​​def route(task, prompt, validate=lambda text: True):    attempts = []    for tier in ROUTES.get(task, ROUTES["reply"]):        model = MODELS[tier]        started = time.perf_counter()        try:            response = client.chat.completions.create(                model=model,                messages=[{"role": "user", "content": prompt}],                max_tokens=400,            )            text = response.choices[0].message.content or ""            attempts.append({                "tier": tier,                "model": model,                "latency_ms": round((time.perf_counter() - started) * 1000),                "accepted": validate(text),            })            if attempts[-1]["accepted"]:                return {                    "text": text,                    "route": tier,                    "model": model,                    "usage": response.usage.model_dump() if response.usage else None,                    "attempts": attempts,                }        except APIError as error:            attempts.append({"tier": tier, "model": model, "status": error.status_code})            if not retryable(error):                raise​    raise RuntimeError(f"No route passed: {attempts}")​​if __name__ == "__main__":    result = route(        "reply",        "Reply to a customer asking when their refund will arrive. Do not promise a date.",        validate=lambda text: 30 <= len(text) <= 600 and "guarantee" not in text.lower(),    )    print(result)

Bagaimana Anda Membatasi Percobaan Ulang sebelum Fallback?

Biarkan percobaan ulang SDK di nol dan bungkus setiap panggilan model dengan batas eksplisit. Helper di bawah ini hanya mengulangi kegagalan API yang dapat diulang sekali, lalu mengangkat pengecualian sehingga rute luar dapat beralih ke tier disetujui berikutnya.

MAX_ATTEMPTS_PER_MODEL = 2​def call_model(model, prompt):    for attempt in range(1, MAX_ATTEMPTS_PER_MODEL + 1):        try:            return client.chat.completions.create(                model=model,                messages=[{"role": "user", "content": prompt}],                max_tokens=400,            )        except APIError as error:            if not retryable(error) or attempt == MAX_ATTEMPTS_PER_MODEL:                raise            time.sleep(min(0.5 * (2 ** (attempt - 1)), 2.0))

Di route(), ganti panggilan langsung client.chat.completions.create(...) dengan call_model(model, prompt). Dengan tiga tier, satu permintaan berhenti setelah maksimal enam panggilan penyedia; kegagalan validasi tetap meningkat satu kali per tier alih-alih mengulang output yang sama.

Jalankan dengan python3 llm_task_router.py. Untuk mengubah penyedia atau generasi model di kemudian hari, perbarui MODELS; kebijakan tugas dan kontrak respons tetap di satu tempat.

Contoh hanya menggunakan parameter yang dibagikan oleh model terpilih. Tambahkan kontrol token khusus model melalui lapisan adaptor setelah memeriksa kompatibilitas model.

Bagaimana Cara Menguji Kebijakan LLM Routing?

Pertama verifikasi bahwa kebijakan deterministik memilih tier utama yang dimaksud. Ini adalah ekspektasi perutean, bukan hasil performa penyedia:

Permintaan ujiNilai tugasRute utama yang diharapkan
Tetapkan satu kategori dukungantagMurah
Draf balasan untuk pelangganreplyCepat
Tinjau kebijakan pengembalian ambigupolicy_reviewAkurasi tinggi

Uji asap live yang berhasil mengembalikan jawaban plus tier yang dipilih, ID model, penggunaan token, dan setiap percobaan. Nilai token dan latensi aktual akan bervariasi:

{  "text": "...",  "route": "fast",  "model": "gemini-3.7-flash",  "usage": {    "prompt_tokens": "measured value",    "completion_tokens": "measured value"  },  "attempts": [    {      "tier": "fast",      "model": "gemini-3.7-flash",      "latency_ms": "measured value",      "accepted": true    }  ]}

Untuk perbandingan nyata, jalankan permintaan berlabel yang sama melalui ketiga model. Catat tingkat kelulusan tugas, latensi p50 dan p95, tingkat kesalahan, token input dan output, tingkat fallback, dan tingkat tinjauan manusia. Metrik yang paling penting biasanya adalah biaya per output yang diterima, bukan biaya per panggilan API.

Berapa Biaya Routing Multi-Model?

Gunakan bentuk beban kerja yang sama untuk perbandingan adil. Asumsikan total 1 juta token: 800.000 token input dan 200.000 token output. Menggunakan tarif yang diturunkan dari katalog yang diperiksa pada 20 Agustus 2026:

RutePerhitunganPerkiraan biaya
Murah0,8 × $0,176 + 0,2 × $0,528$0,25
Cepat0,8 × $0,60 + 0,2 × $3,00$1,08
Akurasi tinggi0,8 × $4,00 + 0,2 × $20,00$7,20

Jika trafik 60% murah, 30% cepat, dan 10% akurasi tinggi, proyeksi biaya token campuran sekitar $1,19 per 1 juta total token. Mengirim campuran yang sama seluruhnya ke rute akurasi tinggi sekitar $7,20 dalam asumsi ini. Ini adalah perhitungan harga, bukan bukti bahwa kebijakan campuran akan memenuhi target kualitas Anda.

Percobaan ulang dan penolakan mengubah hasil. Tingkat percobaan ulang satu kali 5% menaikkan proyeksi $1,19 menjadi kira-kira $1,25. Jika output berbiaya rendah gagal validasi dan seluruh permintaan diulang pada tier akurasi tinggi, hitung kedua panggilan. Lacak output yang diterima sehingga model yang terlihat murah tidak menyembunyikan biaya tinjauan atau regenerasi.

Kegagalan LLM Routing yang Paling Umum

SinyalApa yang harus dilakukan
400 atau permintaan tidak validPerbaiki payload. Jangan fallback.
401Muat ulang atau rotasi kunci API. Jangan coba ulang.
403Periksa akses model dan field yang tidak didukung.
429Mundur dengan jitter, kurangi konkruensi, lalu gunakan fallback yang disetujui jika kebijakan mengizinkan.
5xx sementara atau timeoutCoba rute kompatibel berikutnya dan pertahankan ID permintaan.
Gerbang kualitas gagalEskalasi sekali, catat alasannya, dan berhenti setelah daftar rute yang dikonfigurasi.

Panduan kesalahan dan percobaan ulang merekomendasikan mengulang pembatasan laju dan kegagalan platform sementara dengan backoff, sementara permintaan yang salah format dan kegagalan autentikasi harus diperbaiki. Panduan fallback juga menjaga fallback model tetap terurut dan eksplisit.

Perutean Aplikasi vs. CometAPI Auto: Mana yang Harus Anda Gunakan?

Gunakan perutean aplikasi ketika kontrol dan reprodusibilitas penting. Pertahankan keputusan di kode Anda saat tugas stabil dan Anda memerlukan identitas model tetap, anggaran per tier, validator khusus, dan urutan fallback yang dapat diaudit. Pendekatan ini juga memudahkan membandingkan peta model yang sama di berbagai rilis.

Gunakan CometAPI Auto ketika pengurangan perawatan perutean lebih penting. Setel model=auto untuk default seimbang atau model=auto-high ketika kualitas lebih diprioritaskan. CometAPI memilih model yang memenuhi syarat secara dinamis dari karakteristik permintaan dan pool perutean saat ini, sehingga model yang mendasarinya dapat bervariasi; itu membuat Auto kurang cocok ketika setiap run harus menggunakan model yang sama atau parameter khusus model.

Bagaimana Menjalankan LLM Routing di Produksi?

  • Segarkan registri model. Panggil GET https://api.cometapi.com/api/models saat deployment atau startup dan gagalkan rilis jika ID yang dikonfigurasi atau endpoint yang diperlukan hilang. ID model, harga, dan kapabilitas dapat berubah.
  • Jauhkan opsi khusus penyedia dari router. Antarmuka Chat Completions bersama tidak membuat setiap parameter identik. Misalnya, dukungan untuk logprobs, kontrol penalaran, atau beberapa kandidat dapat berbeda. Tempatkan perbedaan tersebut di adaptor yang diuji.
  • Batasi trafik dan output. Batasi konkruensi sebelum permintaan meninggalkan aplikasi, gunakan exponential backoff dengan jitter untuk 429, dan tetapkan plafon token output. Panduan pembatasan laju CometAPI rate-limit guide merekomendasikan kontrol sisi aplikasi yang sama.
  • Catat keputusan. Rekam jenis tugas, versi kebijakan, tier yang dipilih, ID model, latensi, penggunaan token, hasil validasi, jumlah percobaan ulang, alasan fallback, dan perkiraan biaya. Hindari mencatat rahasia atau konten pelanggan yang tidak perlu.
  • Promosikan rute dengan bukti. Simpan himpunan evaluasi berlabel untuk setiap tugas. Gulirkan perubahan pemetaan secara bertahap, bandingkan dengan kebijakan sebelumnya, dan pertahankan jalur rollback cepat.

Pertanyaan yang Sering Diajukan

Apakah CometAPI secara otomatis memutuskan model mana yang murah, cepat, atau akurat?

Tutorial ini mempertahankan kebijakan tersebut dalam kode aplikasi. CometAPI menyediakan kunci bersama, base URL, katalog model, antarmuka Chat Completions, dan blok bangunan fallback yang didokumentasikan. Tim Anda mendefinisikan apa arti setiap tier dan model mana yang lulus ujiannya.

Apakah satu kunci CometAPI dapat memanggil model dari berbagai penyedia?

Ya. Untuk rute teks yang kompatibel dengan OpenAI, gunakan https://api.cometapi.com/v1 dan ubah nilai model. Katalog saat ini harus diperiksa sebelum deployment.

Mengapa tidak mengirim setiap permintaan ke model termurah?

Tarif token terendah dapat menjadi mahal jika output gagal validasi, memerlukan percobaan ulang, atau menciptakan pekerjaan tinjauan manusia. Bandingkan biaya per hasil yang diterima dan pertahankan tugas berdampak tinggi di balik gerbang kualitas yang lebih ketat.

Haruskah kegagalan kualitas memicu fallback?

Hanya ketika kegagalan dapat dideteksi mesin dan eskalasinya dibatasi. Kesalahan skema, field wajib yang hilang, atau janji terlarang dapat membenarkan satu eskalasi. Ketidakpuasan yang samar sebaiknya menjadi data evaluasi alih-alih loop percobaan ulang tanpa batas.

Seberapa sering peta model harus berubah?

Ubah ketika data katalog saat ini dan evaluasi yang dapat diulang menunjukkan trade-off yang lebih baik. Jangan memutar model hanya karena ada nama baru di katalog.

Bisakah saya menambahkan model OpenAI nanti?

Ya. Tambahkan ID model terkini yang kompatibel dengan OpenAI ke MODELS, uji kontrak permintaan dan respons yang sama, dan tempatkan dalam urutan rute. Klien, kunci, dan base URL tetap tidak berubah.

Bagaimana Menjaga Kebijakan LLM Routing Tetap Terkelola?

Router multi-penyedia termudah bukanlah kotak hitam otonom. Ini adalah kebijakan tugas pendek dan berversi yang didukung oleh akses API bersama, metadata model terkini, validator kualitas, dan rantai fallback sempit. CometAPI mengurangi pekerjaan koneksi menjadi satu kunci dan satu base URL yang kompatibel dengan OpenAI; aplikasi Anda mempertahankan kontrol atas keputusan biaya, latensi, dan kualitas.

Lanjut belajar

Hubungkan artikel ini ke keputusan berikutnya.

Lihat semua topik
Dipublikasikan pada Sep 1, 2026
Terakhir diperbarui Sep 4, 2026
4 tampilan
Ditinjau untuk kejelasan, atribusi sumber, dan terminologi API terkini.

Siap memangkas biaya pengembangan AI hingga 20%?

Mulai gratis dalam beberapa menit. Kredit uji coba gratis disertakan. Tidak perlu kartu kredit.

Baca Selengkapnya