Google Gemini
Gemini là một mô hình trí tuệ nhân tạo mới mạnh mẽ từ Google không chỉ có khả năng hiểu văn bản mà còn có thể hiểu cả hình ảnh, video và âm thanh.
Gemini là một mô hình đa phương tiện, Gemini được mô tả là có khả năng hoàn thành các nhiệm vụ phức tạp trong toán học, vật lý và các lĩnh vực khác.
Gemini cũng có thể hiểu và tạo ra mã nguồn chất lượng cao trong các ngôn ngữ lập trình khác nhau.
Gemini PHP for Laravel
Gemini PHP for Laravel là một thư viện PHP được cộng đồng duy trì, cho phép bạn tương tác với Gemini AI API.
Gemini PHP for Laravel được xây dựng dựa trên Gemini PHP Client, cung cấp Facade để tương tác với các mô hình API và AI có sẵn.
Để tìm hiểu thêm, bạn có thể tham khảo tại: https://github.com/google-gemini-php/laravel
Ngoài ra, Gemini Docs and API Reference for Developers và gemini.google.com là những tài liệu tham khảo tuyệt vời.
Thực hiện cài đặt Gemini trong Laravel
Trong bài viết này, tôi sẽ hướng dẫn các bạn cách tích hợp Gemini AI của Google vào một dự án Laravel và thực hiện một số ví dụ cơ bản về Gemini AI (Phiên bản được áp dụng trong bài viết là Laravel 10).
Gemini API key
Để sử dụng API của Gemini, bạn sẽ cần phải có một API key của Gemini. Nếu bạn chưa có, bạn hãy thực hiện các bước sau để tạo API key của Gemini.
Bước 1: Bạn hãy truy cập vào Google AI Studio: https://aistudio.google.com/app/apikey
Bước 2: Nhấn vào nút Create API key
để bắt đầu tạo API key:
Bước 3: Nhấn nút Create API key in new project
để tạo API key trong dự án mới:
Bước 4: Sau khi chờ đợi trong vài phút để Google AI Studio tạo API key, chúng ta sẽ nhận được thông tin API key như hình bên dưới:
Cài đặt Gemini PHP for Laravel
Để bắt đầu tích hợp Gemini PHP
vào dự án Laravel của bạn, trước tiên bạn cần cài đặt thư viện Gemini PHP for Laravel
bằng lệnh sau:
composer require google-gemini-php/laravel
Sau đó, tiến hành cài đặt Gemini vào dự án Laravel bằng lệnh sau:
php artisan gemini:install
✷ Sau khi chạy lệnh trên, tập tin cấu hình là config/gemini.php
sẽ được tạo ra.
Tiếp theo, chúng ta hãy thêm API key của Gemini mà bạn đã tạo ở trên vào tập tin .env
của dự án Laravel:
GEMINI_API_KEY=xxxxxxx
Sau khi hoàn thành cài đặt thư viện Gemini PHP for Laravel
, bạn hãy tạo một Controller
để thực hiện các ví dụ cơ bản của Gemini bằng lệnh sau:
php artisan make:controller GeminiController
Sau đó, hãy chỉnh sửa GeminiController.php
trong thư mục app/Http/Controllers
với nội dung như sau:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Gemini\Data\Blob;
use Gemini\Enums\MimeType;
use Gemini\Laravel\Facades\Gemini;
class GeminiController extends Controller
{
public function text(Request $request)
{
$question = $request->question ?? 'Hello';
$result = Gemini::geminiPro()->generateContent($question);
return response()->json(['result' => $result->text()]);
}
public function textWithImage(Request $request)
{
$question = $request->question ?? 'What is this picture?';
$image = $request->image ?? 'https://storage.googleapis.com/generativeai-downloads/images/scones.jpg';
$result = Gemini::geminiProVision()
->generateContent([
$question,
new Blob(
mimeType: MimeType::IMAGE_JPEG,
data: base64_encode(
file_get_contents($image)
)
)
]);
return response()->json(['result' => $result->text()]);
}
}
Chúng ta hãy thiết lập route cho hàm text
và textWithImage
trong GeminiController.php
trong tập tin routes/api.php
như sau:
<?php
...
use App\Http\Controllers\GeminiController;
...
Route::post('/gemini/text', [GeminiController::class, 'text']);
Route::post('/gemini/text-with-image', [GeminiController::class, 'textWithImage']);
Kết quả của công việc bạn đã làm đang chờ bạn khám phá!
Sau khi đã hoàn thành các bước trên, giờ là lúc để chúng ta cùng nhau khám phá thành quả công sức của mình.
Chúng ta sẽ dùng Postman để kiểm tra Chat Resource: Text và Chat Resource: Text và Image trong Gemini.
Chat Resource: Text
Bạn hãy dùng Postman thực hiện HTTP đến API sau để kiểm tra Chat Resource: Text
http://127.0.0.1/api/gemini/text
Chat Resource: Text và Image
Bạn hãy dùng Postman thực hiện HTTP đến API sau để kiểm tra Chat Resource: Text và Image
http://127.0.0.1/api/gemini/text-with-image