Пакет Laravel для інтеграції з Google Gemini

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Ознайомтеся з пакетом Gemini для Laravel, який відкриває двері до безмежних можливостей інтеграції з Google Gemini API. Чи готові ви дізнатися, як автоматизувати генерацію тексту, роботу з зображеннями, відео та аудіо, а також отримувати відповіді в реальному часі? Читайте далі, щоб дізнатися більше

Пакет Gemini для Laravel, розроблений Hossein Hezami, призначений для інтеграції з Google Gemini API. Він підтримує текстові та графічні запити, роботу з відео, аудіо, а також можливості глибокого аналізу документів, створення структурованого виходу та функцій:

// Текст
$textResponse = Gemini::text()
    ->model('gemini-2.5-flash')
    ->system('Ви — корисний асистент.')
    ->prompt('Напишіть бесіду між людиною та штучним інтелектом.')
    ->history([
        ['role' => 'user', 'parts' => [['text' => 'Привіт, ШІ']]],
        ['role' => 'model', 'parts' => [['text' => 'Привіт, людино!']]]
    ])
    ->temperature(0.7)
    ->maxTokens(1024)
    ->generate();

echo $textResponse->content();

// Розуміння документів
$response = Gemini::text()
    ->upload('document', $filePath) // зображення, відео, аудіо, документ
    ->prompt('Виділіть основні моменти цього документа.')
    ->generate();

echo $response->content();

// Генерація зображень
$response = Gemini::image()
    ->model('gemini-2.5-flash-image-preview')
    ->method('generateContent')
    ->prompt('Футуристичний горизонт міста на заході сонця.')
    ->generate();

$response->save('image.png');

//
// API для роботи з файлами
//

// Завантажити файл
$uri = Gemini::files()->upload('document', $pathToFile);

// Переглянути всі файли
$files = Gemini::files()->list();

// Отримати деталі файлу
$fileInfo = Gemini::files()->get($file_id);

// Видалити файл
$success = Gemini::files()->delete($file_id);

Цей пакет також підтримує потокову передачу відповідей через метод stream():

return response()->stream(function () use ($request) {
    Gemini::text()
        ->model('gemini-2.5-flash')
        ->prompt('Розкажіть довгу історію про штучний інтелект.')
        ->stream(function ($chunk) {
            $text = $chunk['text'] ?? '';
            if (!empty(trim($text))) {
                echo "data: " . json_encode(['text' => $text]) . "\n\n";
                ob_flush();
                flush();
            }
        });
}, 200, [
    'Content-Type' => 'text/event-stream',
    'Cache-Control' => 'no-cache',
    'Connection' => 'keep-alive',
    'X-Accel-Buffering' => 'no',
]);

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

Детальніше про цей пакет, інструкції з установки та вихідний код можна знайти на GitHub за адресою hosseinhezami/laravel-gemini. Документація з використання цього пакету міститься у файлі README проекту.

Популярні

Logomark Logotype

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

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

Logomark Logotype

Створення CLI-додатка за допомогою Laravel та Docker

Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!

Logomark Logotype

Використання повнотекстового пошуку в Laravel

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