Skip to content

Had Kadar

Triggerfish merangkumi had kadar tetingkap gelongsor yang menghalang mencapai had API pembekal LLM. Ia membungkus mana-mana pembekal secara telus -- gelung ejen tidak perlu tahu tentang had kadar. Apabila kapasiti habis, panggilan ditangguhkan secara automatik sehingga tetingkap bergeser cukup untuk membebaskan kapasiti.

Cara Ia Berfungsi

Had kadar menggunakan tetingkap gelongsor (lalai 60 saat) untuk menjejak dua metrik:

  • Token per minit (TPM) -- jumlah token yang digunakan (gesaan + penyempurnaan) dalam tetingkap
  • Permintaan per minit (RPM) -- jumlah panggilan API dalam tetingkap

Sebelum setiap panggilan LLM, had kadar memeriksa kapasiti yang tersedia terhadap kedua-dua had. Jika sama ada habis, panggilan menunggu sehingga entri tertua bergeser keluar dari tetingkap dan membebaskan kapasiti yang cukup. Selepas setiap panggilan selesai, penggunaan token sebenar direkodkan.

Panggilan strim dan bukan-strim menggunakan belanjawan yang sama. Untuk panggilan strim, penggunaan token direkodkan apabila strim selesai.

Aliran had kadar: Gelung Ejen → Had Kadar → pemeriksaan kapasiti → hantar ke pembekal atau tunggu

Had Tahap OpenAI

Had kadar dihantar dengan lalai terbina dalam untuk had tahap yang diterbitkan OpenAI:

TahapGPT-4o TPMGPT-4o RPMo1 TPMo1 RPM
Free30,00050030,000500
Tahap 130,00050030,000500
Tahap 2450,0005,000100,0001,000
Tahap 3800,0005,000100,0001,000
Tahap 42,000,00010,000200,00010,000
Tahap 530,000,00010,000200,00010,000

Ini adalah lalai berdasarkan had yang diterbitkan OpenAI. Had sebenar anda bergantung pada tahap akaun OpenAI anda dan sejarah penggunaan. Pembekal lain (Anthropic, Google) mengurus had kadar mereka sendiri di sebelah pelayan -- had kadar paling berguna untuk OpenAI di mana pendiaman di sebelah klien menghalang ralat 429. :::

Konfigurasi

Had kadar adalah automatik apabila menggunakan pembekal yang dibungkus. Tiada konfigurasi pengguna diperlukan untuk tingkah laku lalai. Had kadar mengesan pembekal anda dan menggunakan had yang sesuai.

Pengguna lanjutan boleh menyesuaikan had melalui konfigurasi pembekal dalam triggerfish.yaml:

yaml
models:
  providers:
    openai:
      model: gpt-4o
      rate_limit:
        tpm: 450000 # Token per minit
        rpm: 5000 # Permintaan per minit
        window_ms: 60000 # Saiz tetingkap (lalai 60s)

Had kadar melindungi anda dari ralat 429 dan bil yang tidak dijangka. Ia berfungsi bersama rantaian failover -- jika had kadar dicapai dan had kadar tidak dapat menunggu (tamat masa), failover diaktifkan untuk mencuba pembekal seterusnya. :::

Memantau Penggunaan

Had kadar mendedahkan snapshot penggunaan semasa:

{tokensUsed, requestsUsed, tpmLimit, rpmLimit, windowMs}

Bar kemajuan konteks dalam CLI dan Tide Pool menunjukkan penggunaan konteks. Status had kadar kelihatan dalam log debug:

[DEBUG] [provider] Rate limiter: 12,450/30,000 TPM, 8/500 RPM (window: 60s)

Apabila had kadar melambatkan panggilan, ia mencatat masa tunggu:

[INFO] [provider] Rate limited: waiting 4.2s for TPM capacity

Had Kadar Saluran

Selain had kadar pembekal LLM, Triggerfish menguatkuasakan had kadar mesej per-saluran untuk menghalang pembanjiran platform pemesejan. Setiap penyesuai saluran menjejak kekerapan mesej keluar dan melambatkan penghantaran apabila had dihampiri.

Ini melindungi daripada:

  • Larangan API platform akibat jumlah mesej yang berlebihan
  • Spam tidak sengaja dari gelung ejen yang tidak terkawal
  • Ribut mesej yang dicetuskan oleh webhook

Had kadar saluran dikuatkuasakan secara telus oleh penghala saluran. Jika ejen menghasilkan output lebih cepat dari yang dibenarkan saluran, mesej diberikan dalam baris gilir dan disampaikan pada kadar maksimum yang dibenarkan.

Berkaitan