관리-도구
편집 파일: Models.php
<?php declare(strict_types=1); namespace OpenAI\Resources; use OpenAI\Contracts\Resources\ModelsContract; use OpenAI\Responses\Models\DeleteResponse; use OpenAI\Responses\Models\ListResponse; use OpenAI\Responses\Models\RetrieveResponse; use OpenAI\ValueObjects\Transporter\Payload; use OpenAI\ValueObjects\Transporter\Response; final class Models implements ModelsContract { use Concerns\Transportable; /** * Lists the currently available models, and provides basic information about each one such as the owner and availability. * * @see https://platform.openai.com/docs/api-reference/models/list */ public function list(): ListResponse { $payload = Payload::list('models'); /** @var Response<array{object: string, data: array<int, array{id: string, object: string, created: int, owned_by: string}>}> $response */ $response = $this->transporter->requestObject($payload); return ListResponse::from($response->data(), $response->meta()); } /** * Retrieves a model instance, providing basic information about the model such as the owner and permissioning. * * @see https://platform.openai.com/docs/api-reference/models/retrieve */ public function retrieve(string $model): RetrieveResponse { $payload = Payload::retrieve('models', $model); /** @var Response<array{id: string, object: string, created: int, owned_by: string}> $response */ $response = $this->transporter->requestObject($payload); return RetrieveResponse::from($response->data(), $response->meta()); } /** * Delete a fine-tuned model. You must have the Owner role in your organization. * * @see https://platform.openai.com/docs/api-reference/fine-tunes/delete-model */ public function delete(string $model): DeleteResponse { $payload = Payload::delete('models', $model); /** @var Response<array{id: string, object: string, deleted: bool}> $response */ $response = $this->transporter->requestObject($payload); return DeleteResponse::from($response->data(), $response->meta()); } }