![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/openai-php/client/src/Resources/ |
<?php declare(strict_types=1); namespace OpenAI\Resources; use OpenAI\Contracts\Resources\FineTunesContract; use OpenAI\Responses\FineTunes\ListEventsResponse; use OpenAI\Responses\FineTunes\ListResponse; use OpenAI\Responses\FineTunes\RetrieveResponse; use OpenAI\Responses\FineTunes\RetrieveStreamedResponseEvent; use OpenAI\Responses\StreamResponse; use OpenAI\ValueObjects\Transporter\Payload; final class FineTunes implements FineTunesContract { use Concerns\Transportable; /** * Creates a job that fine-tunes a specified model from a given dataset. * * Response includes details of the enqueued job including job status and the name of the fine-tuned models once complete. * * @see https://beta.openai.com/docs/api-reference/fine-tunes/create * * @param array<string, mixed> $parameters */ public function create(array $parameters): RetrieveResponse { $payload = Payload::create('fine-tunes', $parameters); /** @var array{id: string, object: string, model: string, created_at: int, events: array<int, array{object: string, created_at: int, level: string, message: string}>, fine_tuned_model: ?string, hyperparams: array{batch_size: ?int, learning_rate_multiplier: ?float, n_epochs: int, prompt_loss_weight: float}, organization_id: string, result_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, status: string, validation_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, training_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, updated_at: int} $result */ $result = $this->transporter->requestObject($payload); return RetrieveResponse::from($result); } /** * List your organization's fine-tuning jobs. * * @see https://beta.openai.com/docs/api-reference/fine-tunes/list */ public function list(): ListResponse { $payload = Payload::list('fine-tunes'); /** @var array{object: string, data: array<int, array{id: string, object: string, model: string, created_at: int, events: array<int, array{object: string, created_at: int, level: string, message: string}>, fine_tuned_model: ?string, hyperparams: array{batch_size: ?int, learning_rate_multiplier: ?float, n_epochs: int, prompt_loss_weight: float}, organization_id: string, result_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, status: string, validation_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, training_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, updated_at: int}>} $result */ $result = $this->transporter->requestObject($payload); return ListResponse::from($result); } /** * Gets info about the fine-tune job. * * @see https://beta.openai.com/docs/api-reference/fine-tunes/list */ public function retrieve(string $fineTuneId): RetrieveResponse { $payload = Payload::retrieve('fine-tunes', $fineTuneId); /** @var array{id: string, object: string, model: string, created_at: int, events: array<int, array{object: string, created_at: int, level: string, message: string}>, fine_tuned_model: ?string, hyperparams: array{batch_size: ?int, learning_rate_multiplier: ?float, n_epochs: int, prompt_loss_weight: float}, organization_id: string, result_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, status: string, validation_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, training_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, updated_at: int} $result */ $result = $this->transporter->requestObject($payload); return RetrieveResponse::from($result); } /** * Immediately cancel a fine-tune job. * * @see https://beta.openai.com/docs/api-reference/fine-tunes/cancel */ public function cancel(string $fineTuneId): RetrieveResponse { $payload = Payload::cancel('fine-tunes', $fineTuneId); /** @var array{id: string, object: string, model: string, created_at: int, events: array<int, array{object: string, created_at: int, level: string, message: string}>, fine_tuned_model: ?string, hyperparams: array{batch_size: ?int, learning_rate_multiplier: ?float, n_epochs: int, prompt_loss_weight: float}, organization_id: string, result_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, status: string, validation_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, training_files: array<int, array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>, updated_at: int} $result */ $result = $this->transporter->requestObject($payload); return RetrieveResponse::from($result); } /** * Get fine-grained status updates for a fine-tune job. * * @see https://beta.openai.com/docs/api-reference/fine-tunes/events */ public function listEvents(string $fineTuneId): ListEventsResponse { $payload = Payload::retrieve('fine-tunes', $fineTuneId, '/events'); /** @var array{object: string, data: array<int, array{object: string, created_at: int, level: string, message: string}>} $result */ $result = $this->transporter->requestObject($payload); return ListEventsResponse::from($result); } /** * Get streamed fine-grained status updates for a fine-tune job. * * @see https://beta.openai.com/docs/api-reference/fine-tunes/events * * @return StreamResponse<RetrieveStreamedResponseEvent> */ public function listEventsStreamed(string $fineTuneId): StreamResponse { $payload = Payload::retrieve('fine-tunes', $fineTuneId, '/events?stream=true'); $response = $this->transporter->requestStream($payload); return new StreamResponse(RetrieveStreamedResponseEvent::class, $response); } }