|string|null}>}> $response */ $response = $this->transporter->requestObject($payload); return ListResponse::from($response->data(), $response->meta()); } /** * Returns information about a specific file. * * @see https://platform.openai.com/docs/api-reference/files/retrieve */ public function retrieve(string $file): RetrieveResponse { $payload = Payload::retrieve('files', $file); /** @var Response|string|null}> $response */ $response = $this->transporter->requestObject($payload); return RetrieveResponse::from($response->data(), $response->meta()); } /** * Returns the contents of the specified file. * * @see https://platform.openai.com/docs/api-reference/files/retrieve-content */ public function download(string $file): string { $payload = Payload::retrieveContent('files', $file); return $this->transporter->requestContent($payload); } /** * Upload a file that contains document(s) to be used across various endpoints/features. * * @see https://platform.openai.com/docs/api-reference/files/upload * * @param array $parameters */ public function upload(array $parameters): CreateResponse { $payload = Payload::upload('files', $parameters); /** @var Response|string|null}> $response */ $response = $this->transporter->requestObject($payload); return CreateResponse::from($response->data(), $response->meta()); } /** * Delete a file. * * @see https://platform.openai.com/docs/api-reference/files/delete */ public function delete(string $file): DeleteResponse { $payload = Payload::delete('files', $file); /** @var Response $response */ $response = $this->transporter->requestObject($payload); return DeleteResponse::from($response->data(), $response->meta()); } }