PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 1.9.93
AI Engine – The Chatbot, AI Framework & MCP for WordPress v1.9.93
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 / reply.php
ai-engine / classes Last commit date
engines 2 years ago modules 2 years ago queries 2 years ago admin.php 2 years ago api.php 2 years ago core.php 2 years ago init.php 3 years ago reply.php 2 years ago rest.php 2 years ago
reply.php
156 lines
1 <?php
2
3 class Meow_MWAI_Reply implements JsonSerializable {
4
5 public $result = '';
6 public $results = [];
7 public $usage = [ 'prompt_tokens' => 0, 'completion_tokens' => 0, 'total_tokens' => 0 ];
8 public $query = null;
9 public $type = 'text';
10
11 // Function Call
12 public $functionCall = null;
13
14 public function __construct( $query = null ) {
15 $this->query = $query;
16 }
17
18 #[\ReturnTypeWillChange]
19 public function jsonSerialize() {
20 return [
21 'class' => get_class( $this ),
22 'result' => $this->result,
23 'results' => $this->results,
24 'usage' => $this->usage
25 ];
26 }
27
28 public function setQuery( $query ) {
29 $this->query = $query;
30 }
31
32 public function setUsage( $usage ) {
33 $this->usage = $usage;
34 }
35
36 public function setType( $type ) {
37 $this->type = $type;
38 }
39
40 public function getTotalTokens() {
41 return $this->usage['total_tokens'];
42 }
43
44 public function getPromptTokens() {
45 return $this->usage['prompt_tokens'];
46 }
47
48 public function getCompletionTokens() {
49 return $this->usage['completion_tokens'];
50 }
51
52 public function getUnits() {
53 if ( isset( $this->usage['total_tokens'] ) ) {
54 return $this->usage['total_tokens'];
55 }
56 else if ( isset( $this->usage['images'] ) ) {
57 return $this->usage['images'];
58 }
59 else if ( isset( $this->usage['seconds'] ) ) {
60 return $this->usage['seconds'];
61 }
62 return null;
63 }
64
65 public function getResults() {
66 return $this->results;
67 }
68
69 public function getUsage() {
70 return $this->usage;
71 }
72
73 public function getResult() {
74 return $this->result;
75 }
76
77 public function getType() {
78 return $this->type;
79 }
80
81 public function setReply( $reply ) {
82 $this->result = $reply;
83 $this->results[] = [ $reply ];
84 }
85
86 public function replace( $search, $replace ) {
87 $this->result = str_replace( $search, $replace, $this->result );
88 $this->results = array_map( function( $result ) use ( $search, $replace ) {
89 return str_replace( $search, $replace, $result );
90 }, $this->results );
91 }
92
93 /**
94 * Set the choices from OpenAI as the results.
95 * The last (or only) result is set as the result.
96 * @param array $choices ID of the model to use.
97 */
98 public function setChoices( $choices ) {
99 $this->results = [];
100 if ( is_array( $choices ) ) {
101 foreach ( $choices as $choice ) {
102
103 // It's chat completion
104 if ( isset( $choice['message'] ) ) {
105
106 // It's text content
107 if ( isset( $choice['message']['content'] ) ) {
108 $content = trim( $choice['message']['content'] );
109 $this->results[] = $content;
110 $this->result = $content;
111 }
112
113 // It's a function call
114 if ( isset( $choice['message']['function_call'] ) ) {
115 $content = $choice['message']['function_call'];
116 $name = trim( $content['name'] );
117 $arguments = trim( str_replace( "\n", "", $content['arguments'] ) );
118 if ( substr( $arguments, 0, 1 ) == '{' ) {
119 $arguments = json_decode( $arguments, true );
120 }
121 $this->functionCall = [ 'name' => $name, 'arguments' => $arguments ];
122 }
123 }
124
125 // It's text completion
126 else if ( isset( $choice['text'] ) ) {
127 $text = trim( $choice['text'] );
128 $this->results[] = $text;
129 $this->result = $text;
130 }
131
132 // It's url/image
133 else if ( isset( $choice['url'] ) ) {
134 $url = trim( $choice['url'] );
135 $this->results[] = $url;
136 $this->result = $url;
137 }
138
139 // It's embedding
140 else if ( isset( $choice['embedding'] ) ) {
141 $content = $choice['embedding'];
142 $this->results[] = $content;
143 $this->result = $content;
144 }
145 }
146 }
147 else {
148 $this->result = $choices;
149 $this->results[] = $choices;
150 }
151 }
152
153 public function toJson() {
154 return json_encode( $this );
155 }
156 }