Search by

taufik464 / ai-rotation-manager

Laravel package for multi-provider and multi-account AI API key rotation.

Maintainers

Package info

github.com/taufik464/ai-rotation-manager

pkg:composer/taufik464/ai-rotation-manager

Transparency log

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-09-05 18:09 UTC

This package is auto-updated.

Last update: 2026-09-05 18:37:26 UTC


README

Laravel package untuk rotasi API key multi-provider dan multi-account. Groq diprioritaskan, lalu Gemini dipakai sebagai fallback ketika semua key Groq sedang cooldown atau gagal dengan status yang dapat diputar.

Requirements

  • PHP 8.0+
  • Laravel 10+

Installation

composer require taufik464/ai-rotation-manager
php artisan vendor:publish --tag=ai-rotation-config

Package service provider dan facade didaftarkan otomatis melalui Composer.

Configuration

Atur key sebagai daftar yang dipisahkan koma di .env:

GROQ_API_KEYS=groq-key-1,groq-key-2
GEMINI_API_KEYS=gemini-key-1,gemini-key-2
AI_ROTATION_COOLDOWN_SECONDS=60

File konfigurasi hasil publish berada di config/ai-rotation.php. Urutan default adalah groq, lalu gemini.

Cooldown disimpan melalui Laravel cache, sehingga Redis, file, atau array store dapat digunakan sesuai konfigurasi aplikasi. API key tidak disimpan sebagai nilai cache; hanya hash key yang digunakan pada nama cache.

Usage

use YourVendor\AIRotationManager\Facades\AIRotation;

$text = AIRotation::generate('Explain Laravel service providers in one paragraph.');

Opsi request dapat diteruskan sebagai argumen kedua:

$text = AIRotation::generate('Write a short haiku.', [
    'temperature' => 0.4,
    'max_tokens' => 200,
]);

Status HTTP 429, 401, dan 5xx akan memasukkan key ke cooldown lalu mencoba key berikutnya. Jika semua key dalam provider habis, manager melanjutkan ke provider berikutnya.

Adding a provider

Implementasikan YourVendor\AIRotationManager\Contracts\AIServiceInterface, terima api_key dari options, lalu daftarkan class tersebut di config/ai-rotation.php pada bagian providers dan priority.

Testing

composer install
composer test