// Fallback

Bikin rantai fallback

Keluhan paling umum soal free tier LLM: satu provider habis kuota cuma dari beberapa prompt — apalagi kalau di-integrasi ke IDE. Jawabannya bukan "pakai provider ini", tapi susun beberapa provider berurutan, otomatis lompat ke yang berikutnya begitu satu kena limit.

Pilih 2–4 provider di bawah, urut prioritasnya, terus generate config siap-pakai — Vercel AI SDK, LiteLLM, TypeScript polos, atau .env.

Catatan jujur: rate limit itu per akun, bukan per rantai. Nyusun beberapa provider mengurangi downtime — bukan menggandakan kuota jadi lebih besar dari yang dikasih masing-masing provider.

Rantai provider

2/4 PROVIDER

  1. 1.Aion Labs
  2. 2.Cloudflare Workers AI

URUTAN = PRIORITAS. YANG PALING ATAS DICOBA DULU.

TAMBAH PROVIDER (15 DENGAN BASE URL)

VERCEL AI SDK

// Vercel AI SDK — @ai-sdk/openai-compatible + ai
// npm install ai @ai-sdk/openai-compatible

import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText } from "ai";

// Rantai model, urut dari prioritas tertinggi ke paling belakang.
// AI SDK belum punya fallback bawaan, jadi kita coba satu-satu manual.
const fallbackModels = [
  createOpenAICompatible({
    name: "aion-labs",
    apiKey: process.env.AION_LABS_API_KEY,
    baseURL: "https://api.aionlabs.ai/v1",
  })("aion-labs/aion-2.0"), // Aion Labs
  createOpenAICompatible({
    name: "cloudflare-workers-ai",
    apiKey: process.env.CLOUDFLARE_WORKERS_AI_API_KEY,
    baseURL: "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/run",
  })("cf-moonshotai-kimi-k2-7-code"), // Cloudflare Workers AI
];

export async function generateWithFallback(prompt: string) {
  let lastError: unknown;
  for (const model of fallbackModels) {
    try {
      const { text } = await generateText({ model, prompt });
      return text;
    } catch (err) {
      lastError = err;
      // lanjut ke model berikutnya di rantai
    }
  }
  throw new Error(`Semua provider di rantai gagal: ${String(lastError)}`);
}

7 provider di direktori belum muncul di generator ini (Agnes AI, Chutes.ai, Cline, Glhf.chat, Ollama Cloud, OpenCode Zen, Grok (xAI)) — sumbernya belum menyediakan base URL API secara terstruktur, jadi config-nya tidak bisa dibuat tanpa menebak.