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

Перекладено ШІ 0 Laravel News 03 липня, 2026

Пакет Laravel AI Tasks перетворює роботу з нейромережами на впорядкований процес із підтримкою черг, стрімінгу та reusable task classes. Відстежуйте витрати й аналізуйте кожен запит через вбудований dashboard для професійного керування вашими AI-рішеннями.

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

Ви описуєте роботу ШІ як класи завдань, що можна використовувати повторно. Їх можна виконувати синхронно, надсилати в чергу або отримувати відповідь у форматі стрімінгу. Пакет забезпечує аудит, бюджетування для кожного tenant та зручний Dashboard для моніторингу кожного запиту.

Основні можливості:

  • Багаторазові класи завдань, що об’єднують промпт, системне повідомлення та постобробку в один об’єкт.
  • Три режими виконання — синхронний, через чергу (queued) та стрімінг із callback-функціями для чанків.
  • Дашборд за адресою /ai-tasks із переліком запусків, підрахунком токенів, вартістю та деталями запитів і відповідей.
  • Підтримка багатьох провайдерів: OpenAI, Anthropic, Gemini, DeepSeek, Groq, Mistral, xAI та Ollama з можливістю перемикання в runtime та ланцюжками fallback.
  • Трекінг витрат та бюджети з ціноутворенням для кожного провайдера та лімітами витрат для мультитенентних систем.
  • Ідемпотентні завдання в черзі, що запобігають дублюванню за унікальним ключем.
  • Інтеграція з Tools та MCP, кешування промптів Anthropic та підтримка JSON mode для структурованого виводу.
Laravel AI Tasks dashboard showing today's total, OK, and error counts, monthly cost, and a filterable table of task runs with driver, tenant, dispatch mode, status, token counts, cost, and duration.
Дашборд Laravel AI Tasks за адресою /ai-tasks відображає детальну статистику кожного запуску: токени, вартість, тривалість та статус.

# Опис завдання

Клас завдання успадковує AiTask і визначає логіку запиту. Метод toPayload() формує повідомлення та опції для провайдера, а postprocess() дозволяє обробити відповідь перед її поверненням:

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;

Метод queue() повертає ID запуску для відстеження в дашборді, а stream() викликає callback для кожного нового фрагмента тексту:

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

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

# Контроль витрат і ліміти

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

Вихідний код та повна документація доступні на GitHub.

Популярні

Інше, що варто прочитати

12 Оновлено 26 червня, 2026

Управління доступом у Filament за допомогою плагіна Shield

Дізнайтеся, як пакет Filament Shield забезпечує управління доступом до ваших панелей, ресурсів і віджетів у Laravel. Ця стаття розкриває основні можливості пакету, включаючи просту установку та підтримку багатокористувацьких середовищ — не пропустіть!

14 Оновлено 26 червня, 2026

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

12 Оновлено 26 червня, 2026

Генерація документації в Laravel за допомогою штучного інтелекту

Docudoodle — це потужний пакет для генерації документації в Laravel, який допомагає легко аналізувати вашу кодову базу та створювати документацію за допомогою обраного вами AI. Чи готові ви дізнатися, як цей інструмент може спростити вашу роботу з документуванням коду? Читайте далі!