diff --git a/OpenAIClient.php b/OpenAIClient.php new file mode 100644 index 0000000000000000000000000000000000000000..20e6a91acfc1467c24bac04f909dacc8dd998adf --- /dev/null +++ b/OpenAIClient.php @@ -0,0 +1,69 @@ +<?php +class OpenAIClient +{ + private string $question; + private string $code; + private string $test; + + + public function __construct(string $question) + { + $this->question = $question; + $this->code = $this->genCode(); + $this->test = $this->genTest(); + } + + + public function genCode(): string + { + $client = OpenAI::client('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'); + $result = $client->completions()->create([ + 'model' => 'text-davinci-003', + 'prompt' => $this->question, + ]); + + return $result['choices'][0]['text']; + } + + public function genTest(): string + { + $client = OpenAI::client('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'); + $result = $client->completions()->create([ + 'model' => 'text-davinci-003', + 'prompt' => $this->question, + ]); + + return $result['choices'][0]['text']; + } + + + public function getQuestion(): string + { + return $this->question; + } + + public function setQuestion(string $question): void + { + $this->question = $question; + } + + public function getCode(): string + { + return $this->code; + } + + public function setCode(string $code): void + { + $this->code = $code; + } + + public function getTest(): string + { + return $this->test; + } + + public function setTest(string $test): void + { + $this->test = $test; + } +} \ No newline at end of file