PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 1.9.3
AI Engine – The Chatbot, AI Framework & MCP for WordPress v1.9.3
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 / base.php
ai-engine / classes / queries Last commit date
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
base.php
196 lines
1 <?php
2
3 class Meow_MWAI_Query_Base implements JsonSerializable {
4 public string $env = '';
5 public string $prompt = '';
6 public string $model = '';
7 public string $mode = '';
8 public ?string $session = null;
9 public int $maxResults = 1;
10 public ?string $service = null;
11 public ?string $botId = null;
12
13 // Functions
14 public array $functions = [];
15 public ?string $functionCall = null;
16
17 // OpenAI
18 public ?string $apiKey = null;
19
20 // Azure
21 public ?string $azureEndpoint = null;
22 public ?string $azureApiKey = null;
23 public ?string $azureDeployment = null;
24
25 public function __construct( $prompt = '' ) {
26 global $mwai_core;
27 $this->setPrompt( $prompt );
28 $this->session = $mwai_core->get_session_id();
29 }
30
31 #[\ReturnTypeWillChange]
32 public function jsonSerialize() {
33 return [
34 'class' => get_class( $this ),
35 'env' => $this->env,
36 'prompt' => $this->prompt,
37 'model' => $this->model,
38 'mode' => $this->mode,
39 'session' => $this->session,
40 'maxResults' => $this->maxResults
41 ];
42 }
43
44 public function addFunction( Meow_MWAI_Query_Function $function ): void {
45 $this->functions[] = $function;
46 $this->functionCall = "auto";
47 }
48
49 public function setFunctions( array $functions ): void {
50 $this->functions = $functions;
51 $this->functionCall = "auto";
52 }
53
54 public function getFunctions(): array {
55 return $this->functions;
56 }
57
58 public function replace( $search, $replace ) {
59 $this->prompt = str_replace( $search, $replace, $this->prompt );
60 }
61
62 public function getLastPrompt(): string {
63 return $this->prompt;
64 }
65
66 /**
67 * The environment, like "chatbot", "imagesbot", "chatbot-007", "textwriter", etc...
68 * Used for statistics, mainly.
69 * @param string $env The environment.
70 */
71 public function setEnv( string $env ): void {
72 $this->env = $env;
73 }
74
75 /**
76 * ID of the model to use.
77 * @param string $model ID of the model to use.
78 */
79 public function setModel( string $model ) {
80 $this->model = $model;
81 }
82
83 /**
84 * The mode
85 * @param string $mode.
86 */
87 public function setMode( string $mode ) {
88 $this->mode = $mode;
89 }
90
91 /**
92 * Given a prompt, the model will return one or more predicted completions.
93 * It can also return the probabilities of alternative tokens at each position.
94 * @param string $prompt The prompt to generate completions.
95 */
96 public function setPrompt( string $prompt ) {
97 $this->prompt = $prompt;
98 }
99
100 public function getPrompt() {
101 return $this->prompt;
102 }
103
104 /**
105 * Similar to the prompt, but focus on the new/last message.
106 * Only used when the model has a chat mode (and only used in messages).
107 * With Meow_MWAI_Query_Base, this is the same as setPrompt.
108 * @param string $prompt The messages to generate completions.
109 */
110 public function setNewMessage( string $newMessage ): void {
111 $this->setPrompt( $newMessage );
112 }
113
114 public function getLastMessage() {
115 return $this->getPrompt();
116 }
117
118 /**
119 * The API key to use.
120 * @param string $apiKey The API key.
121 */
122 public function setApiKey( string $apiKey ) {
123 $this->apiKey = $apiKey;
124 }
125
126 /**
127 * The service to use.
128 * @param string $service The service.
129 */
130 public function setService( string $service ) {
131 $this->service = $service;
132 }
133
134 /**
135 * The Azure endpoint to use.
136 * @param string $endpoint The endpoint.
137 */
138 public function setAzureEndpoint( string $endpoint ) {
139 $this->azureEndpoint = $endpoint;
140 }
141
142 /**
143 * The Azure API key to use.
144 * @param string $apiKey The API key.
145 */
146 public function setAzureApiKey( string $apiKey ) {
147 $this->azureApiKey = $apiKey;
148 }
149
150 /**
151 * The Azure deployment to use.
152 * @param string $deployment The deployment.
153 */
154 public function setAzureDeployment( string $deployment ) {
155 $this->azureDeployment = $deployment;
156 }
157
158 /**
159 * The session ID to use.
160 * @param string $session The session ID.
161 */
162 public function setSession( string $session ) {
163 $this->session = $session;
164 }
165
166 /**
167 * The bot ID to use.
168 * @param string $botId The bot ID.
169 */
170 public function setBotId( string $botId ) {
171 $this->botId = $botId;
172 }
173
174 /**
175 * How many completions to generate for each prompt.
176 * Because this parameter generates many completions, it can quickly consume your token quota.
177 * Use carefully and ensure that you have reasonable settings for max_tokens and stop.
178 * @param float $maxResults Number of completions.
179 */
180 public function setMaxResults( int $maxResults ) {
181 $this->maxResults = $maxResults;
182 }
183
184 // **
185 // * Check if everything is correct, otherwise fix it (like the max number of tokens).
186 // */
187 public function finalChecks() {
188 }
189
190 /*
191 * Get the JSON representation of the query.
192 */
193 public function toJson() {
194 return json_encode( $this );
195 }
196 }