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

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.

36

Читати в документації

Коментарі

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

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

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

whereBinary()
Новини 28 серпня 2026

whereBinary(): регістрозалежні запити MySQL у Laravel

Laravel 13.27 додає новий метод whereBinary() для точного побайтового порівняння рядків у MySQL. Він вирішує проблему, коли стандартне collation utf8mb4_unicode_ci ігнорує регістр, акценти та пробіли при порівнянні токенів, slug-ів та інших критичних даних.

ToolSearch
Новини 27 серпня 2026

Laravel AI: завантаження інструментів на вимогу з ToolSearch

Laravel AI v0.11.0 додає механізм відкладеного завантаження інструментів агента через ToolSearch. Замість надсилання всіх тридцяти інструментів одразу, провайдер отримує лише пошуковий запис і завантажує повні визначення тільки тоді, коли модель вирішує їх використати.

2

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

SKELAR
4 дні тому

Backend Engineer (PHP/Go)

Backend Engineer на PHP/Go для розробки платіжних систем та інтеграцій з провайдерами платежів. Розвиватимете backend-логіку для карткових оплат, працюватимете з high-load системами, покращуватимете стабільність та моніторинг платіжних процесів. Потрібен сильний досвід з PHP, архітектурним мисленням та відповідальністю за повний цикл розробки.

Softprom
18 днів тому

FullStack Developer (PHP Laravel + React) for Automation and AI

FullStack розробник для проектів автоматизації та AI. Розробка backend на PHP Laravel з мікросервісною архітектурою, інтеграція ERP/CRM систем (NetSuite, HubSpot), та frontend на React з AI-функціоналом (chatbots, генерація контенту). Потребує 5+ років PHP, 3+ років Laravel на рівні архітектури, досвід мікросервісів, OOP, REST API, Websockets.

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

Laravel Activitylog

spatie/laravel-activitylog

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

5,879 5.1.0 13 20

Telescope

laravel/telescope

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

5,210 v5.22.1 13 6