Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти
Інше
Події Про нас
USAIGE
Новини 27 червня 2026
10

USAIGE: відстеження використання токенів та витрат для Laravel AI SDK

USAIGE - це Laravel-пакет, який додає можливості спостереження (observability) до Laravel AI SDK. Він записує кожен AI-запит як окремий прогін (run) із підрахунком токенів, витрат, деталями провайдера та моделі, таймінгами і статусом помилок - а потім відображає всю цю інформацію через вбудовану веб-панель.

Два хелпери, три рядки коду

Інтеграція побудована навколо двох глобальних хелперів. ai_run() відкриває контекст відстеження, прив'язаний до ідентифікатора функції, а ai_usage() записує те, що спожила відповідь SDK:

$run = ai_run('summarize-document');
$response = Ai::text('Summarize: ' . $document->content);
$usage = ai_usage($run, $response);

Пакет автоматично визначає формат відповіді. Він обробляє відповіді від Laravel AI SDK, OpenAI PHP SDK та звичайні масиви, витягуючи кількість токенів без додаткової конфігурації. Коли жоден із цих форматів не підходить, можна передати підрахунки безпосередньо:

$usage = ai_usage($run, promptTokens: 200, completionTokens: 80);

Визначення провайдера, моделі та вартості

USAIGE читає config/ai.php, щоб заповнити провайдера та модель для кожного прогону. Обидва параметри можна перевизначити для конкретного виклику або передати enum Lab безпосередньо:

$run = ai_run('classify-ticket', model: 'gpt-4o-mini', provider: 'openai');

Витрати зберігаються з точністю до часток цента. Таблиця ai_usages зберігає як кількість токенів prompt і completion, так і загальну вартість у доларах США для кожного прогону, тому можна робити запити витрат за функцією, користувачем, моделлю чи діапазоном дат, використовуючи модель AiRun.

Відстеження користувачів та метадані

За замовчуванням прогін асоціюється з auth()->id(). Це можна перевизначити глобально, якщо стандартний резолвер не підходить:

use Laraveljutsu\Usaige\Facades\Usaige;
Usaige::resolveUsersUsing(fn () => auth()->user()?->team_id);

Або передати ID користувача для конкретного виклику. Прогони також приймають довільні JSON-метадані для прикріплення контексту, як-от ID тікета чи ідентифікатор орендаря:

$run = ai_run('generate-report', metadata: [
    'tenant_id' => $tenant->id,
    'ticket'    => 'PROJ-1042',
]);

Якщо AI-виклик завершується невдачею до виконання ai_usage(), можна явно зареєструвати помилку:

$run->fail('Rate limit exceeded');

Веб-панель

Пакет реєструє панель за адресою /usaige, яка показує всі прогони з їхнім статусом, провайдером, моделлю, підрахунком токенів, витратами та тривалістю. Доступ контролюється через конфігурацію middleware у config/usaige.php або через колбек:

Usaige::auth(fn ($request) => $request->user()?->isAdmin());

Шлях до панелі, middleware та назви таблиць бази даних - усе це налаштовується через опублікований конфігураційний файл.

Встановлення

Пакет вимагає PHP 8.5+, Laravel 11+ та laravel/ai ^0.8.1:

composer require laraveljutsu/usaige
php artisan migrate

Вихідний код та повну документацію можна знайти на GitHub.

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Backpack CRUD RCE

Повідомлення про безпеку: неавтентифіковане ін'єктування команд у Backpack\CRUD

Команда Backpack for Laravel опублікувала повідомлення про безпеку: у телеметрії пакета Backpack\CRUD виявлено вразливість, що дозволяла віддалене виконання коду (RCE) без автентифікації. Дослідник безпеки Vishal Shukla (@therawdev) відповідально повідомив про проблему 16 травня 2026 року, і команда розробників випустила виправлення менш ніж за 24 години.

Що нового в PostgreSQL 19: графові запити, GROUP BY ALL і крок до "універсальної" бази даних

Що нового в PostgreSQL 19: графові запити, GROUP BY ALL і крок до "універсальної" бази даних

PostgreSQL 19 продовжує важливу тенденцію останніх років: класична реляційна база даних поступово перетворюється на універсальну платформу для роботи з різними типами даних - від JSON до графів і аналітики.

Вакансії за темою

Full-time 2 дн. тому

Backend Engineer

ViyarTech Віддалено За результатами співбесіди

ViyarTech - місце, де IT-інновації зустрічаються з реальним виробництвом. Ми - продуктова IT-компанія в екосистемі Viyar, лідера українського ринку з виробництва меблевих деталей. Кожна лінійка нашого коду безпосередньо впливає на виробничі лінії. 180+ спеціалістів ViyarTech створюють IT-рішення для повного циклу виробництва меблів - від управління сучасними цехами до веб сервісів для мільйонів українців. Шукаємо досвідченого Backend Engineer, який підсилить команду розробки ViyarPro. Це власна CAD-система для проєктування меблів, яку ми розробляємо і розвиваємо інхаус. Це складний інженерний продукт із нетривіальною бізнес-логікою, що живе у продакшні та росте разом із бізнесом Твої задачі: Більшість роботи - це архітектурні рішення, нові виклики і ситуації, де немає готової відповіді. Ми свідомо даємо людям простір для дій і максимально делегуємо: не чекаємо, поки хтось скаже що робити, а цінуємо тих, хто бачить проблему і бере її на себе. Якщо тобі комфортно працювати з відповідальністю і без жорсткої ієрархії - ти нам підходиш. Тримати архітектурну дисципліну в живих системах: межі контекстів, відповідальності, простота змін Відповідальність за прод: передбачуваність релізів, стабільність, контроль ризиків Ініціативність у покращеннях - від контрактів і тестів до CI/CD та спостережуваності Зріла командна взаємодія: домовленості, рев'ю, технічні рішення через аргументи Необхідна експертиза: PHP 8.x + MySQL / Redis Впевнена робота з Docker у щоденному ритмі Linux як робоче середовище Розуміння оркестрації контейнерів на рівні практики Bash для інженерних задач і автоматизацій Буде перевагою: AMQP: розуміння протоколу й підходів до асинхронщини PHPUnit і нормальні тести як частина розробки GitLab CI: пайплайни, джоби, артефакти, деплойні сценарії Моніторинг: розуміти метрики, алерти, "що болить" у проді Процес найму: Інтервʼю з нашим рекрутером (онлайн, орієнтовно 30 хв) Фінальне інтервʼю (офлайн/онлайн, орієнтовно 60 хв) Пропонуємо: Архітектурні задачі і великі нові виклики Широку свободу дій і реальний вплив: на архітектуру, стандарти, процеси Гібридний формат роботи - офіс у Києві або remote за домовленістю Можливості для карʼєрного росту (матриця компетенцій). Соціальний пакет (24 к.д відпустки, лікарняні (50% від ставки) Компенсація профільного навчання (50%), внутрішні тренінги. Програма Mental Health (корпоративний психолог, нутриціолог). Корпоративні знижки на продукцію компанії та партнерів (меблі, техніка, комплектуючі). Знижки на харчування в ресторані компанії. Бюджет на соціальну підтримку/допомогу працівникам.

Пакети за темою

Laravel Activitylog

spatie/laravel-activitylog

Простий логер активності для моніторингу користувачів вашого веб-сайту або додатку.

5,852 5.0.0 13 1

Telescope

laravel/telescope

Елегантний помічник для налагодження фреймворку Laravel, який допомагає розробникам в розробці та тестуванні додатків.

5,193 v5.20.0 13 1