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

Laravel AI Tasks: пакет для оркестрації AI з чергами, логуванням та контролем витрат

Laravel AI Tasks - це пакет, який розташовується поверх Laravel AI SDK, використовуючи його як транспортний рівень і додаючи навколо нього операційні компоненти. Ви визначаєте AI-роботу як багаторазові класи завдань, а потім виконуєте їх синхронно, відправляєте у чергу або стрімите відповідь - з аудит-логуванням, бюджетами на рівні орендарів і дашбордом, що відстежує кожен запуск.

Ключові можливості пакету

Пакет охоплює наступний функціонал:

  • Багаторазові класи завдань, які об'єднують промпт, системне повідомлення та постобробку в єдиний об'єкт
  • Три режими виконання - синхронний, черговий та потоковий з callback-функціями для фрагментів
  • Дашборд за адресою /ai-tasks, що відображає список запусків з кількістю токенів, вартістю та деталями запиту/відповіді
  • Підтримка кількох провайдерів: OpenAI, Anthropic, Gemini, DeepSeek, Groq, Mistral, xAI та Ollama, з можливістю перемикання під час виконання та ланцюгами резервних варіантів
  • Відстеження витрат та бюджети з цінами для кожного провайдера та лімітами витрат для мультиорендарних систем
  • Ідемпотентні чергові завдання, що дедуплікуються за унікальним ключем
  • Інтеграція з інструментами та MCP, кешування промптів Anthropic та JSON-режим для структурованого виводу

Дашборд Laravel AI Tasks за адресою /ai-tasks відображає кожен запуск з використанням токенів, вартістю, тривалістю та статусом, включаючи загальну кількість за сьогодні, успішні виконання, помилки та щомісячні витрати.

Визначення завдання

Завдання розширює клас AiTask і описує свій payload. Метод toPayload() будує повідомлення та опції, що надсилаються провайдеру, а postprocess() надає hook для формування відповіді перед її поверненням:

namespace App\Ai\Tasks;

use Laravel\Ai\Messages\UserMessage;
use Fomvasss\AiTasks\DTO\AiPayload;
use Fomvasss\AiTasks\DTO\AiResponse;
use Fomvasss\AiTasks\Tasks\AiTask;

class SummarizeTask extends AiTask
{
    public function __construct(private readonly string $text) {}

    public function modality(): string { return 'text'; }

    public function toPayload(): AiPayload
    {
        return new AiPayload(
            modality: $this->modality(),
            messages: [new UserMessage("Summarize: {$this->text}")],
            systemPrompt: 'Reply in 3 sentences max.',
            options: ['temperature' => 0.3],
        );
    }

    public function postprocess(AiResponse $response): AiResponse|array
    {
        return $response;
    }
}

Три способи виконання завдань

Фасад AI виконує один і той самий об'єкт завдання синхронно, через чергу або як потік. Синхронне виконання повертає відповідь безпосередньо:

use Fomvasss\AiTasks\Facades\AI;

$response = AI::send(new SummarizeTask($text));
echo $response->content;

Постановка в чергу повертає ідентифікатор запуску, який можна відстежити через дашборд, а потокове виконання викликає callback для кожного фрагмента в міру його надходження:

$runId = AI::queue(new SummarizeTask($text));

$response = AI::stream(new SummarizeTask($text), function (string $chunk) {
    echo $chunk;
});

Чергові завдання підтримують ключі ідемпотентності, тому дублікат відправлення дедуплікується, а не виконується двічі.

Відстеження витрат та бюджети

Ціноутворення налаштовується для кожного провайдера та моделі, і пакет обчислює вартість кожного виклику після його завершення. Ці дані живлять мультиорендарні бюджетні ліміти, тому ви можете встановити щомісячний ліміт витрат на організацію та моніторити використання по облікових записах. Кожен запуск - запит, відповідь, використання токенів та вартість - записується і доступний для перегляду за адресою /ai-tasks.

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

6

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

Коментарі

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

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

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

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

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

iPOST Нова
Сьогодні

Senior PHP Developer (Product, Highload)

Senior PHP Developer для продуктової платформи доставки. Розробка backend та архітектури на PHP 8.2+, Yii2, MySQL з фокусом на highload, оптимізацію продуктивності та інтеграції з зовнішніми сервісами. Вимоги: 5+ років PHP, 4+ років Yii2, досвід великого production-коду, REST API, Docker, Git, тести. Плюс — досвід із AI-інструментами.

WordPress розробник

WordPress Київ Офіс B2B Middle ₴25,000 - ₴127,000

WordPress розробник для створення та підтримки сайтів, налаштування серверів, оптимізації продуктивності і безпеки. Вимагається глибоке знання WordPress, WooCommerce, PHP, HTML, CSS, JS, досвід з плагінами, темами, API, інтеграціями, Digital Ocean, Figma. Необхідні навички адаптивної верстки та портфоліо робіт.

WordPress розробник

WordPress Київ Офіс B2B Middle ₴25,000 - ₴125,000

WordPress розробник для підтримки та розвитку сайтів, розробки нових проєктів з нуля, оптимізації продуктивності. Вимоги: глибоке знання WordPress, WooCommerce, PHP, HTML/CSS/JS, робота з плагінами (ACF, WPML), кастомізація тем, API/Webhooks, Digital Ocean, Figma. Наявність портфоліо обов'язкова.

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

Laravel Activitylog

spatie/laravel-activitylog

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

5,879 5.1.0 13 20

Telescope

laravel/telescope

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

5,210 v5.22.1 13 6