Kami menggunakan cookie. Cookie dan penyimpanan browser menjaga Anda tetap masuk dan mengingat preferensi Anda. Dengan izin Anda, kami juga mengukur cara situs digunakan. Anda dapat kapan saja. Lihat kebijakan cookie kami.

Provider routing dan fallback

Endpoint

Provider routing dan fallback

Pilih, urutkan, dan saring provider upstream, serta atur fallback antar model lewat objek provider dan array models di request Anda.

Coba di playground

Banyak model dilayani oleh beberapa provider upstream, masing-masing dengan harga, kecepatan, dan kebijakan data sendiri. Secara default, request di-load-balance antar provider berdasarkan harga dan uptime, lalu beralih ke provider lain saat satu provider gagal. Gunakan objek provider untuk mengubah ini, dan models untuk fallback antar model yang berbeda.

Objek provider

FieldTipeDeskripsi
orderstring[]Provider yang dicoba lebih dulu, berurutan, mis. ["Anthropic", "Amazon Bedrock"].
allow_fallbacksbooleanfalse mencegah request pergi ke provider di luar order atau only (default true).
onlystring[]Hanya izinkan provider ini.
ignorestring[]Jangan pernah gunakan provider ini.
sortstring"price", "throughput", atau "latency" sebagai pengganti load balancing.
data_collectionstring"deny" mengecualikan provider yang mungkin menyimpan atau melatih model dengan prompt. "allow" adalah default.
require_parametersbooleanHanya gunakan provider yang mendukung setiap parameter pada request Anda (mis. tools, response_format).
quantizationsstring[]Presisi yang diizinkan, mis. ["fp8", "bf16"].
max_priceobjectBatas atas harga dalam USD per juta token, mis. { "prompt": 1, "completion": 3 }.
{
  "model": "meta-llama/llama-3.3-70b-instruct",
  "messages": [{ "role": "user", "content": "Hello" }],
  "provider": {
    "order": ["Groq", "Fireworks"],
    "allow_fallbacks": true,
    "data_collection": "deny",
    "sort": "throughput"
  }
}

Varian :nitro adalah pintasan untuk sort: "throughput", dan :floor adalah pintasan untuk sort: "price". Lihat ID model.

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ]
});
console.log(result.choices[0].message.content);

Fallback model dengan models

Kirim daftar model. Jika yang pertama gagal (gangguan, batas laju, moderasi, atau error panjang konteks), model berikutnya dicoba:

{
  "models": ["anthropic/claude-sonnet-4.5", "openai/gpt-5-mini", "google/gemini-2.5-flash"],
  "messages": [{ "role": "user", "content": "Summarize this ticket." }]
}
  • model bersifat opsional jika models diatur. Jika Anda mengirim keduanya, model dicoba lebih dulu.
  • Setiap model dalam daftar harus lolos pemeriksaan gateway sebelum request dikirim: model harus ada dan aktif, masuk dalam allowlist model key Anda, dan termasuk dalam paket Anda. Satu model yang gagal pemeriksaan menolak seluruh request (403 model_not_allowed, 403 plan_required, atau 404 model_not_found).
  • Anda hanya ditagih untuk model yang menjawab, dengan harganya sendiri. Field model pada respons memberi tahu model mana itu.

Respons

{
  "id": "gen-1760000000-route",
  "model": "openai/gpt-5-mini",
  "provider": "OpenAI",
  "choices": [{ "index": 0, "finish_reason": "stop", "message": { "role": "assistant", "content": "..." } }],
  "usage": { "prompt_tokens": 140, "completion_tokens": 60, "total_tokens": 200, "cost": 0.000155 }
}

provider menunjukkan provider upstream mana yang melayani request. Pencarian generasi menampilkan detail routing lengkap.

Error

Jika tidak ada provider yang cocok dengan filter Anda (mis. only bersama require_parameters), upstream mengembalikan 404 "No endpoints found". Error lainnya sama seperti pada Chat completions. Lihat Error.