PluginProbe
Auto Alt Text / 1.3.2
Auto Alt Text v1.3.2
3.0.3 2.8.2 1.3.1 1.3.2 2.0.0 2.1.0 2.1.1 2.2.0 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.2 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.6.1 2.7.0 2.8.0 2.8.1 All 28 releases
auto-alt-text / src / App / AIProviders / OpenAI / OpenAITextCompletionResponse.php

OpenAITextCompletionResponse.php in Auto Alt Text 1.3.2, at src/App/AIProviders/OpenAI/OpenAITextCompletionResponse.php

43 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace AATXT\App\AIProviders\OpenAI;
3
4 use OpenAI;
5 use OpenAI\Client;
6 use AATXT\App\Admin\PluginOptions;
7 use AATXT\App\Exceptions\OpenAI\OpenAIException;
8 use AATXT\Config\Constants;
9
10 class OpenAITextCompletionResponse extends OpenAIResponse
11 {
12 private function __construct() {
13
14 }
15
16 public static function make(): OpenAITextCompletionResponse
17 {
18 return new self();
19 }
20
21 /**
22 * Make a request to OpenAI Text Completion APIs to retrieve a description for the image passed
23 * @param string $imageUrl
24 * @return string
25 * @throws OpenAIException
26 */
27 public function response(string $imageUrl): string
28 {
29 $prompt = parent::prompt();
30 $model = PluginOptions::model();
31
32 $requestBody = [
33 'model' => $model,
34 'prompt' => $prompt,
35 'max_tokens' => Constants::AATXT_OPENAI_MAX_TOKENS,
36 'temperature' => Constants::AATXT_OPENAI_TEXT_COMPLETION_TEMPERATURE,
37 ];
38
39 $decodedBody = parent::decodedResponseBody($requestBody, Constants::AATXT_OPENAI_TEXT_COMPLETION_ENDPOINT);
40
41 return $this->cleanString($decodedBody['choices'][0]['text']);
42 }
43 }