Dalam artikel ini kita akan belajar tentang bagaimana menggunakan open ai dalam Laravel. Mungkin Anda sudah pernah sebelumnya bermain dengan ai dengan menggunakan ChatGPT atau yang lain mirip dengan itu.
Mungkin Anda sudah pernah sebelumnya bermain dengan ai dengan menggunakan ChatGPT atau yang lain mirip dengan itu. Tapi kali ini kita akan menggunakan open ai dengan Laravel. Jadi, mari kita mulai.
Open AI adalah sebuah platform yang memungkinkan kita untuk membuat AI yang dapat digunakan untuk berbagai keperluan.
Pertama-tama kita akan membuat project Laravel terlebih dahulu.
laravel new open-ai-with-laravel
Atau Anda bisa menggunakan composer untuk membuat project Laravel.
composer create-project --prefer-dist laravel/laravel open-ai-with-laravel
Setelah itu, maka kita bisa lanjut ke langkah selanjutnya yaitu menginstall package yang telah dibuat oleh Nuno Maduro.
composer require openai-php/laravel
Setelah itu, silakan publish vendor tersebut dengan menggunakan perintah berikut.
php artisan vendor:publish --provider="OpenAI\Laravel\ServiceProvider"
Dengan perintah itu, maka kita akan diberikan 1 file dengan nama openai.php
yang berada di dalam folder config
. Perhatikan pada bagian:
return [
'api_key' => env('OPENAI_API_KEY'),
// ...
];
Yang itu berarti dia berharap kita mempunyai sebuah environment variable dengan nama OPENAI_API_KEY
. Jadi, silakan buat environment variable tersebut di dalam file .env
Anda.
OPENAI_API_KEY=sk-...
Anda bisa melihat open ai key Anda di platform.openai.com/. Jika Anda belum mempunyai akun, silakan daftar terlebih dahulu.
Untuk menggunakan package ini sangat mudah sekali pastinya. API nya sangat mudah dipahami.
use OpenAI\Laravel\Facades\OpenAI;
$result = OpenAI::completions()->create([
'model' => 'text-davinci-003',
'prompt' => 'Do you have a cat ?',
]);
echo $result['choices'][0]['text'];
Atau Anda juga bisa menggunakan model lain seperti misalnya gpt-3.5-turbo
.
Anda bisa melihat semua model di Open AI Models.
$response = OpenAI::chat()->create([
'model' => config('openai.model.turbo'),
'messages' => [[
'role' => 'user',
'content' => $request->input('prompt'),
]],
]);
return collect($result['choices'])->map(fn ($choice) => [
'index' => $choice['index'],
'role' => ucfirst($choice['message']['role']),
'content' => str($choice['message']['content'])->markdown(),
'finish_reason' => $choice['finish_reason'],
]);
Karena kita tidak mempunyai setup yang sangat serius disini, jadi saya berencana untuk memandu Anda menggunakan laravel command saja.
Pertama sekali, silakan buat command terlebih dahulu.
php artisan make:command AskAi
Dengan begitu, maka kita akan diberikan file baru tepatnya di dalam folder app/Console/Commands/AskAi.php
. Silakan buka file tersebut dan ubah menjadi seperti berikut.
namespace App\Console\Commands;
use OpenAI\Laravel\Facades\OpenAI;
use Illuminate\Console\Command;
class AskAiCommand extends Command
{
protected $signature = 'ask:ai';
protected $description = 'Asking for help the to AI';
public function handle(): void
{
$ask = $this->ask('Your question?');
$result = OpenAI::completions()->create([
'model' => 'text-davinci-003',
'prompt' => $ask,
'max_tokens' => 250,
]);
$this->warn($ask);
$this->info($result['choices'][0]['text']);
}
}
Dengan begitu, maka kita bisa menjalankan command tersebut dengan menggunakan perintah berikut.
php artisan ask:ai
Kurang lebih akan seperti ini hasilnya.
Jadi jika Anda bekerja dengan controller, sudah pasti Anda bisa mengganti $this->ask('Your question?')
menjadi $request->get('question')
atau yang lainnya.
Semoga artikel ini bermanfaat dan selamat mencoba. Saya irsyad, sampai jumpa di artikel selanjutnya.
Let's start living like no one can help us in any event, so that when we are helped in certain times, it becomes a plus in itself.