PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 2.9.1
AI Engine – The Chatbot, AI Framework & MCP for WordPress v2.9.1
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 / query / text.php
ai-engine / classes / query Last commit date
assist-feedback.php 1 year ago assistant.php 1 year ago base.php 1 year ago dropped-file.php 1 year ago edit-image.php 1 year ago embed.php 1 year ago feedback.php 1 year ago function.php 1 year ago image.php 1 year ago parameter.php 1 year ago text.php 1 year ago transcribe.php 1 year ago
text.php
139 lines
1 <?php
2
3 class Meow_MWAI_Query_Text extends Meow_MWAI_Query_Base implements JsonSerializable {
4 // Core Content
5 public ?Meow_MWAI_Query_DroppedFile $attachedFile = null;
6
7 // Parameters
8 public ?float $temperature = null;
9 public ?int $maxTokens = null;
10 public ?string $stop = null;
11 public ?string $responseFormat = null;
12
13 #region Constructors, Serialization
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(): array {
27 $json = [
28 'message' => $this->message,
29 'instructions' => $this->instructions,
30
31 'ai' => [
32 'model' => $this->model,
33 'feature' => $this->feature,
34 'maxTokens' => $this->maxTokens,
35 'temperature' => $this->temperature,
36 ],
37
38 'system' => [
39 'class' => get_class( $this ),
40 'envId' => $this->envId,
41 'scope' => $this->scope,
42 'session' => $this->session,
43 'maxMessages' => $this->maxMessages,
44 ]
45 ];
46
47 if ( !empty( $this->context ) ) {
48 $json['context']['content'] = $this->context;
49 }
50
51 if ( !empty( $this->attachedFile ) ) {
52 $json['context']['hasFile'] = true;
53 if ( $this->attachedFile->get_type() === 'url' ) {
54 $json['context']['fileUrl'] = $this->attachedFile->get_url();
55 }
56 }
57
58 return $json;
59 }
60
61 #endregion
62
63 #region File Handling
64
65 public function set_file( Meow_MWAI_Query_DroppedFile $file ): void {
66 $this->attachedFile = $file;
67 }
68
69 #endregion
70
71 #region Parameters
72
73 /**
74 * The type of return expected from the API. It can be either null or "json".
75 * @param int $maxResults The maximum number of completions.
76 */
77 public function set_response_format( $responseFormat ) {
78 if ( !empty( $responseFormat ) && $responseFormat !== 'json' ) {
79 throw new Exception( 'AI Engine: The response format can only be null or json.' );
80 }
81 $this->responseFormat = $responseFormat;
82 }
83
84 /**
85 * The maximum number of tokens to generate in the completion.
86 * The token count of your prompt plus max_tokens cannot exceed the model's context length.
87 * Most models have a context length of 2048 tokens (except for the newest models, which support 4096).
88 * @param float $maxTokens The maximum number of tokens.
89 */
90 public function set_max_tokens( int $maxTokens ): void {
91 $this->maxTokens = $maxTokens;
92 }
93
94 /**
95 * Set the sampling temperature to use. Higher values means the model will take more risks.
96 * Try 0.9 for more creative applications, and 0 for ones with a well-defined reply.
97 * @param float $temperature The temperature.
98 */
99 public function set_temperature( float $temperature ): void {
100 $temperature = floatval( $temperature );
101 if ( $temperature > 1 ) {
102 $temperature = 1;
103 }
104 if ( $temperature < 0 ) {
105 $temperature = 0;
106 }
107 $this->temperature = round( $temperature, 2 );
108 }
109
110 public function set_stop( string $stop ): void {
111 $this->stop = $stop;
112 }
113
114 #endregion
115
116 #region Inject Params
117
118 // Based on the params of the query, update the attributes
119 public function inject_params( array $params ): void {
120 parent::inject_params( $params );
121 $params = $this->convert_keys( $params );
122
123 if ( !empty( $params['maxTokens'] ) && intval( $params['maxTokens'] ) > 0 ) {
124 $this->set_max_tokens( intval( $params['maxTokens'] ) );
125 }
126 if ( isset( $params['temperature'] ) && $params['temperature'] !== '' ) {
127 $this->set_temperature( $params['temperature'] );
128 }
129 if ( !empty( $params['stop'] ) ) {
130 $this->set_stop( $params['stop'] );
131 }
132 if ( !empty( $params['responseFormat'] ) ) {
133 $this->set_response_format( $params['responseFormat'] );
134 }
135 }
136
137 #endregion
138 }
139