Laravel Open AI

    Cara Mengintegrasikan OpenAI ke dalam Laravel

    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.

    Irsyad A. Panjaitan

    3 min read·13 Jul 2023

    Laravel Open AI

    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.

    Apa itu Open AI?

    Open AI adalah sebuah platform yang memungkinkan kita untuk membuat AI yang dapat digunakan untuk berbagai keperluan.

    Membuat Project Laravel

    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
    

    Install Package Open AI

    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:

    config/openai.php
    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.

    .env
    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'],
    ]);
    

    Simple Workflow

    Karena kita tidak mempunyai setup yang sangat serius disini, jadi saya berencana untuk memandu Anda menggunakan laravel command saja.

    Membuat Command

    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.

    AskAi.php
    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. Screenshot Ask AI Command Parsinta.com

    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.

    Karteil
    Destinasi Utama Belajar Online dengan Format Tulisan yang Elegan
    Kunjungi Sekarang

    Irsyad A. Panjaitan

    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.

    Follow me on
    Support me
    SaweriaGithub

    Newsletter

    Bergabunglah dengan 23.000+ lainnya dan jangan pernah ketinggalan screencast, tips, tutorial, dan lainnya.