HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/laravel/app/Observers/FineTuningJobObserver.php
<?php

namespace App\Observers;

use App\Models\FineTuningJob;
use App\Models\Prompt;
use OpenAI;

class FineTuningJobObserver
{
    /**
     * Handle the FineTuningJob "created" event.
     *
     * @param  \App\Models\FineTuningJob  $fineTuningJob
     * @return void
     */
    public function created(FineTuningJob $fineTuningJob)
    {
        $jobFile = $fineTuningJob->file_name;
        try {
            $result = $fineTuningJob->callGptProxi(
                [
                    'method' => 'POST',
                    'path' => 'fine_tuning/jobs',
                    'file' => env('APP_URL') . '/uploads/'.$jobFile,
                    'key' => env('OPEN_AI_KEY'),
                    'model' => $fineTuningJob->parent_model
                ]
            );

            if (is_object($result)) {
                if (property_exists($result, 'id')) {
                    $fineTuningJob->job_id = $result->id;
                    $fineTuningJob->job_status = $result->status;
                } else {
                    $fineTuningJob->error = json_encode($result);
                }
            } else {
                $fineTuningJob->error = $result;
            }

            $fineTuningJob->save();
        } catch (\Exception $e) {
            echo $e->getMessage();
            echo $e->getTraceAsString();
            $fineTuningJob->error = $e->getMessage();
            $fineTuningJob->save();
        }
    }

    /**
     * Handle the FineTuningJob "updated" event.
     *
     * @param  \App\Models\FineTuningJob  $fineTuningJob
     * @return void
     */
    public function updated(FineTuningJob $fineTuningJob): void
    {

    }
}