Стартовий набір для чат-ботів на базі Laravel та штучного інтелекту

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 09 липня, 2025
Ви готові поринути у світ штучного інтелекту в Laravel? У цьому блозі ми розглянемо новий стартер-кит AI Chat від Pushpak Chhajed, який дозволяє створити додаток з функціоналом чату в реальному часі за допомогою сучасних технологій. Дізнайтеся більше про його можливості

Laravel AI Chat — це стартер-набір, створений Pushpak Chhajed, який пропонує функціонал реального часу для відповідей за допомогою Prism, Inertia.js, Vue.js та Tailwind CSS. Якщо ви хочете швидко налаштувати новий додаток Laravel з функцією AI-чат, цей набір стане відмінною стартовою точкою.

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

Стартер-набір можна встановити за допомогою laravel new:

laravel new --using=pushpak1300/ai-chat my-ai-chat
cd my-ai-chat
composer run dev

Цей набір містить файл app/Enums/ModelName.php, в якому ви можете визначити імена моделей, доступних для використання.

<?php
 
declare(strict_types=1);
 
namespace App\Enums;
 
use Prism\Prism\Enums\Provider;
 
enum ModelName: string
{
    case GPT_4O_MINI = 'gpt-4o-mini';
    case GPT_4_1_NANO = 'gpt-4.1-nano';
    case O4_MINI = 'o4-mini';
    // Додаємо інші моделі
    case MY_NEW_MODEL = 'my-new-model-2-micro';
 
    /**
     * @return array{id: string, name: string, description: string, provider: string}[]
     */
    public static function getAvailableModels(): array
    {
        return array_map(
            fn (ModelName $model): array => $model->toArray(),
            self::cases()
        );
    }
 
    public function getName(): string
    {
        return match ($this) {
            self::GPT_4O_MINI => 'GPT-4o mini',
            self::GPT_4_1_NANO => 'GPT-4.1 Nano',
            self::O4_MINI => 'O4 mini',
            self::MY_NEW_MODEL => 'Людське ім’я моделі',
        };
    }
 
    public function getDescription(): string
    {
        return match ($this) {
            self::GPT_4O_MINI => 'Найдешевша модель, краще підходить для складних завдань',
            self::GPT_4_1_NANO => 'Доступна модель для простих завдань',
            self::O4_MINI => 'Модель з можливістю розуміння, найкраще підходить для комплексних завдань',
            self::MY_NEW_MODEL => 'Короткий опис можливостей моделі',
        };
    }
 
    public function getProvider(): Provider
    {
        return match ($this) {
            self::GPT_4O_MINI => Provider::OpenAI,
            self::GPT_4_1_NANO => Provider::OpenAI,
            self::O4_MINI => Provider::OpenAI,
            self::MY_NEW_MODEL => Provider::YourProvider,
        };
    }
 
    /**
     * @return array{id: string, name: string, description: string, provider: string}
     */
    public function toArray(): array
    {
        return [
            'id' => $this->value,
            'name' => $this->getName(),
            'description' => $this->getDescription(),
            'provider' => $this->getProvider()->value,
        ];
    }
}

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

Дізнайтеся більше про цей пакет та перегляньте вихідний код на GitHub.

Популярні

Logomark Logotype

Laravel Boost — ваш стартовий набір для програмування з використанням штучного інтелекту

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

Logomark Logotype

Журнал аудиту в Laravel

Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту

Logomark Logotype

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

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