PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 2.1.4
AI Engine – The Chatbot, AI Framework & MCP for WordPress v2.1.4
3.5.9 3.5.8 3.5.7 3.5.6 3.5.5 3.5.4 3.5.3 3.5.2 3.5.1 3.5.0 3.4.9 3.4.8 3.4.7 0.2.1 1.6.91 0.2.2 1.6.92 0.2.3 1.6.93 0.2.4 1.6.94 0.2.5 1.6.95 0.2.6 1.6.96 0.2.7 1.6.97 0.2.8 1.6.98 0.2.9 1.6.99 0.3.0 1.7.0 0.3.1 1.7.1 0.3.2 1.7.2 0.3.3 1.7.3 0.3.4 1.7.4 0.3.5 1.7.5 0.3.6 1.7.6 0.4.0 1.7.7 0.4.1 1.7.8 0.4.2 1.7.9 0.4.3 1.8.0 0.4.4 1.8.1 0.4.5 1.8.2 0.4.6 1.8.3 0.4.7 1.8.4 0.4.8 1.8.5 0.4.9 1.8.6 0.5.0 1.8.7 0.5.1 1.8.8 0.5.2 1.8.9 0.5.3 1.9.0 0.5.4 1.9.1 0.5.5 1.9.2 0.5.6 1.9.3 0.5.7 1.9.4 0.5.8 1.9.5 0.5.9 1.9.6 0.6.0 1.9.7 0.6.1 1.9.8 0.6.2 1.9.81 0.6.3 1.9.82 0.6.4 1.9.83 0.6.5 1.9.84 0.6.6 1.9.85 0.6.7 1.9.86 0.6.8 1.9.87 0.6.9 1.9.88 0.7.0 1.9.89 0.7.1 1.9.90 0.7.2 1.9.91 0.7.3 1.9.92 0.7.4 1.9.93 0.7.5 1.9.94 0.7.6 1.9.95 0.7.7 1.9.96 0.7.8 1.9.97 0.7.9 1.9.98 0.8.0 1.9.99 0.8.1 2.0.0 0.8.2 2.0.1 0.8.3 2.0.2 0.8.4 2.0.3 0.8.5 2.0.4 0.8.6 2.0.5 0.8.7 2.0.6 0.8.8 2.0.7 0.8.9 2.0.8 0.9.0 2.0.9 0.9.2 2.1.0 0.9.3 2.1.1 0.9.4 2.1.2 0.9.5 2.1.3 0.9.6 2.1.4 0.9.7 2.1.5 0.9.8 2.1.6 0.9.81 2.1.7 0.9.82 2.1.8 0.9.83 2.1.9 0.9.84 2.2.0 0.9.85 2.2.1 0.9.86 2.2.2 0.9.87 2.2.3 0.9.88 2.2.4 0.9.89 2.2.5 0.9.9 2.2.51 0.9.91 2.2.52 0.9.92 2.2.53 0.9.93 2.2.54 0.9.94 2.2.56 0.9.95 2.2.57 0.9.96 2.2.6 0.9.97 2.2.60 0.9.98 2.2.61 0.9.99 2.2.62 1.0.0 2.2.63 1.0.01 2.2.70 1.0.1 2.2.80 1.0.2 2.2.81 1.0.3 2.2.90 1.0.4 2.2.91 1.0.5 2.2.92 1.0.6 2.2.93 1.0.7 2.2.94 1.0.8 2.2.95 1.0.9 2.3.0 1.1.0 2.3.1 1.1.1 2.3.2 1.1.2 2.3.3 1.1.3 2.3.4 1.1.4 2.3.5 1.1.5 2.3.6 1.1.6 2.3.7 1.1.7 2.3.8 1.1.8 2.3.9 1.1.9 2.4.0 1.2.0 2.4.1 1.2.1 2.4.2 1.2.2 2.4.3 1.2.21 2.4.4 1.2.3 2.4.5 1.2.30 2.4.6 1.3.0 2.4.7 1.3.1 2.4.8 1.3.2 2.4.9 1.3.3 2.5.0 1.3.31 2.5.1 1.3.32 2.5.2 1.3.33 2.5.3 1.3.34 2.5.4 1.3.35 2.5.5 1.3.36 2.5.6 1.3.37 2.5.7 1.3.38 2.5.8 1.3.39 2.5.9 1.3.40 2.6.0 1.3.41 2.6.1 1.3.42 2.6.2 1.3.43 2.6.3 1.3.44 2.6.5 1.3.45 2.6.6 1.3.46 2.6.7 1.3.47 2.6.8 1.3.48 2.6.9 1.3.49 2.7.0 1.3.50 2.7.1 1.3.51 2.7.2 1.3.52 2.7.3 1.3.53 2.7.4 1.3.54 2.7.5 1.3.56 2.7.6 1.3.57 2.7.7 1.3.58 2.7.8 1.3.59 2.7.9 1.3.60 2.8.0 1.3.61 2.8.1 1.3.62 2.8.2 1.3.63 2.8.3 1.3.64 2.8.4 1.3.65 2.8.5 1.3.66 2.8.6 1.3.67 2.8.7 1.3.68 2.8.8 1.3.69 2.8.9 1.3.70 2.9.0 1.3.71 2.9.1 1.3.72 2.9.2 1.3.73 2.9.3 1.3.74 2.9.4 1.3.75 2.9.5 1.3.76 2.9.6 1.3.77 2.9.7 1.3.78 2.9.8 1.3.79 2.9.9 1.3.80 3.0.0 1.3.81 3.0.1 1.3.82 3.0.2 1.3.83 3.0.3 1.3.84 3.0.4 1.3.85 3.0.5 1.3.86 3.0.6 1.3.87 3.0.7 1.3.88 3.0.8 1.3.89 3.0.9 1.3.90 3.1.0 1.3.91 3.1.1 1.3.92 3.1.2 1.3.93 3.1.3 1.3.94 3.1.4 1.3.95 3.1.5 1.3.96 3.1.6 1.3.97 3.1.7 1.3.98 3.1.8 1.3.99 3.1.9 1.4.0 3.2.0 1.4.1 3.2.1 1.4.2 3.2.2 1.4.3 3.2.3 1.4.4 3.2.4 1.4.5 3.2.5 1.4.6 3.2.6 1.4.7 3.2.7 1.4.8 3.2.8 1.4.9 3.2.9 1.5.0 3.3.0 1.5.1 3.3.1 1.5.2 3.3.2 1.5.3 3.3.3 1.5.4 3.3.4 1.5.5 3.3.5 1.5.6 3.3.6 1.5.7 3.3.7 1.5.8 3.3.8 1.5.9 3.3.9 1.6.0 3.4.0 1.6.1 3.4.1 1.6.2 3.4.2 1.6.3 3.4.3 1.6.5 3.4.4 1.6.51 3.4.5 1.6.52 3.4.6 1.6.53 1.6.54 1.6.55 1.6.56 1.6.57 1.6.58 1.6.59 1.6.60 1.6.61 1.6.62 1.6.63 1.6.64 1.6.65 1.6.66 1.6.67 1.6.68 trunk 1.6.69 0.0.1 1.6.70 0.0.2 1.6.71 0.0.3 1.6.72 0.0.4 1.6.73 0.0.5 1.6.74 0.0.6 1.6.75 0.0.7 1.6.76 0.0.8 1.6.77 0.0.9 1.6.78 0.1.0 1.6.79 0.1.1 1.6.81 0.1.2 1.6.82 0.1.3 1.6.83 0.1.4 1.6.84 0.1.5 1.6.85 0.1.6 1.6.86 0.1.7 1.6.87 0.1.8 1.6.88 0.1.9 1.6.89 0.2.0 1.6.90
ai-engine / classes / queries / text.php
ai-engine / classes / queries Last commit date
assistant.php 2 years ago base.php 2 years ago embed.php 2 years ago function.php 2 years ago image.php 2 years ago parameter.php 2 years ago text.php 2 years ago transcribe.php 2 years ago
text.php
143 lines
1 <?php
2
3 class Meow_MWAI_Query_Text extends Meow_MWAI_Query_Base implements JsonSerializable {
4
5 // Core Content
6 public ?string $imageUrl = null;
7 public ?string $imageData = null;
8
9 // Parameters
10 public float $temperature = 0.8;
11 public int $maxTokens = 1024;
12 public ?string $stop = null;
13 public ?string $responseFormat = null;
14
15 public function __construct( ?string $message = '', ?int $maxTokens = null, string $model = null ) {
16 parent::__construct( $message );
17 if ( !empty( $model ) ) {
18 $this->set_model( $model );
19 }
20 if ( !empty( $maxTokens ) ) {
21 $this->set_max_tokens( $maxTokens );
22 }
23 }
24
25 #[\ReturnTypeWillChange]
26 public function jsonSerialize() {
27 $json = [
28 'instructions' => $this->instructions,
29 'message' => $this->message,
30
31 'context' => [
32 'messages' => $this->messages
33 ],
34
35 'ai' => [
36 'model' => $this->model,
37 'maxTokens' => $this->maxTokens,
38 'temperature' => $this->temperature,
39 ],
40
41 'system' => [
42 'class' => get_class( $this ),
43 'envId' => $this->envId,
44 'mode' => $this->mode,
45 'scope' => $this->scope,
46 'session' => $this->session,
47 'maxMessages' => $this->maxMessages,
48 ]
49 ];
50
51 if ( !empty( $this->context ) ) {
52 $json['context']['context'] = $this->context;
53 }
54
55 if ( !empty( $this->imageUrl ) || !empty( $this->imageData ) ) {
56 $json['context']['hasImage'] = true;
57 }
58
59 if ( !empty( $this->imageUrl ) ) {
60 $json['context']['imageUrl'] = $this->imageUrl;
61 }
62
63 return $json;
64 }
65
66 /**
67 * The type of return expected from the API. It can be either null or "json".
68 * @param int $maxResults The maximum number of completions.
69 */
70 public function set_response_format( $responseFormat ) {
71 if ( !empty( $responseFormat ) && $responseFormat !== 'json' ) {
72 throw new Exception( "AI Engine: The response format can only be null or json." );
73 }
74 $this->responseFormat = $responseFormat;
75 }
76
77 public function set_image( string $imageUrl ): void {
78 $this->imageUrl = $imageUrl;
79 }
80
81 public function set_image_data( string $imageData ): void {
82 $this->imageData = $imageData;
83 }
84
85 public function get_image_url() {
86 if ( !empty( $this->imageUrl ) ) {
87 return $this->imageUrl;
88 }
89 if ( !empty( $this->imageData ) ) {
90 return "data:image/jpeg;base64,{$this->imageData}";
91 }
92 }
93
94 /**
95 * The maximum number of tokens to generate in the completion.
96 * The token count of your prompt plus max_tokens cannot exceed the model's context length.
97 * Most models have a context length of 2048 tokens (except for the newest models, which support 4096).
98 * @param float $maxTokens The maximum number of tokens.
99 */
100 public function set_max_tokens( int $maxTokens ): void {
101 $this->maxTokens = $maxTokens;
102 }
103
104 /**
105 * Set the sampling temperature to use. Higher values means the model will take more risks.
106 * Try 0.9 for more creative applications, and 0 for ones with a well-defined reply.
107 * @param float $temperature The temperature.
108 */
109 public function set_temperature( float $temperature ): void {
110 $temperature = floatval( $temperature );
111 if ( $temperature > 1 ) {
112 $temperature = 1;
113 }
114 if ( $temperature < 0 ) {
115 $temperature = 0;
116 }
117 $this->temperature = round( $temperature, 2 );
118 }
119
120 public function set_stop( string $stop ): void {
121 $this->stop = $stop;
122 }
123
124 // Based on the params of the query, update the attributes
125 public function inject_params( array $params ): void
126 {
127 parent::inject_params( $params );
128 $params = $this->convert_keys( $params );
129
130 if ( !empty( $params['maxTokens'] ) && intval( $params['maxTokens'] ) > 0 ) {
131 $this->set_max_tokens( intval( $params['maxTokens'] ) );
132 }
133 if ( !empty( $params['temperature'] ) ) {
134 $this->set_temperature( $params['temperature'] );
135 }
136 if ( !empty( $params['stop'] ) ) {
137 $this->set_stop( $params['stop'] );
138 }
139 if ( !empty( $params['responseFormat'] ) ) {
140 $this->set_response_format( $params['responseFormat'] );
141 }
142 }
143 }