Пакет 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 проекту.
Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту
Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!
Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом