PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 2.3.0
AI Engine – The Chatbot, AI Framework & MCP for WordPress v2.3.0
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 / assistant.php
ai-engine / classes / queries Last commit date
assistant.php 2 years ago base.php 2 years ago embed.php 2 years ago feedback.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
assistant.php
138 lines
1 <?php
2
3 class Meow_MWAI_Query_Assistant extends Meow_MWAI_Query_Base implements JsonSerializable {
4
5 // Core Content
6 public ?string $file = null;
7 public ?string $fileType = null; // refId, url, data
8 public ?string $filePurpose = null; // assistant, vision
9
10 // Parameters
11 public ?string $chatId = null;
12 public ?string $assistantId = null;
13 public ?string $threadId = null;
14 public ?string $storeId = null; // Vector Store ID (https://platform.openai.com/docs/api-reference/vector-stores)
15
16 #region Constructors, Serialization
17
18 public function __construct( ?string $message = '' ) {
19 parent::__construct( $message );
20 $this->mode = "assistant";
21 }
22
23 #[\ReturnTypeWillChange]
24 public function jsonSerialize() {
25 return [
26 'message' => $this->message,
27
28 'ai' => [
29 'model' => $this->model,
30 'assistantId' => $this->assistantId,
31 'threadId' => $this->threadId,
32 'storeId' => $this->storeId,
33 ],
34
35 'context' => [
36 ],
37
38 'system' => [
39 'class' => get_class( $this ),
40 'envId' => $this->envId,
41 'mode' => $this->mode,
42 'scope' => $this->scope,
43 'session' => $this->session,
44 'chatId' => $this->chatId,
45 ]
46 ];
47
48 if ( !empty( $this->context ) ) {
49 $json['context']['context'] = $this->context;
50 }
51
52 if ( !empty( $this->file ) ) {
53 $json['context']['hasFile'] = true;
54 if ( $this->fileType === 'url' ) {
55 $json['context']['fileUrl'] = $this->file;
56 }
57 }
58
59 return $json;
60 }
61
62 #endregion
63
64 #region File Handling
65
66 // public function set_file( string $file, string $fileType = null, string $filePurpose = null ): void {
67 // if ( !empty( $fileType ) && $fileType !== 'refId' && $fileType !== 'url' && $fileType !== 'data' ) {
68 // throw new Exception( "AI Engine: The file type can only be refId, url or data." );
69 // }
70 // if ( !empty( $filePurpose ) && $filePurpose !== 'assistant-in' && $filePurpose !== 'vision' ) {
71 // throw new Exception( "AI Engine: The file purpose can only be assistant or vision." );
72 // }
73 // $this->file = $file;
74 // $this->fileType = $fileType;
75 // $this->filePurpose = $filePurpose;
76 // }
77
78 // public function get_file_url() {
79 // if ( $this->fileType === 'url' ) {
80 // return $this->file;
81 // }
82 // else if ( $this->fileType === 'data' ) {
83 // return "data:image/jpeg;base64,{$this->file}";
84 // }
85 // else if ( $this->fileType === 'refId' ) {
86 // throw new Exception( "AI Engine: The file type refId is not supported yet." );
87 // }
88 // else {
89 // return null;
90 // }
91 // }
92
93 #endregion
94
95 #region Parameters
96
97 public function setAssistantId( string $assistantId ): void {
98 $this->assistantId = $assistantId;
99 }
100
101 public function setChatId( string $chatId ): void {
102 $this->chatId = $chatId;
103 }
104
105 public function setThreadId( string $threadId ): void {
106 $this->threadId = $threadId;
107 }
108
109 public function setStoreId( string $storeId ): void {
110 $this->storeId = $storeId;
111 }
112
113 #endregion
114
115 #region Inject Params
116
117 // Based on the params of the query, update the attributes
118 public function inject_params( array $params ): void
119 {
120 parent::inject_params( $params );
121
122 // Those are for the keys passed directly by the shortcode.
123 $params = $this->convert_keys( $params );
124
125 // Additional for Assistant.
126 if ( !empty( $params['chatId'] ) ) {
127 $this->setChatId( $params['chatId'] );
128 }
129 if ( !empty( $params['assistantId'] ) ) {
130 $this->setAssistantId( $params['assistantId'] );
131 }
132 if ( !empty( $params['threadId'] ) ) {
133 $this->setThreadId( $params['threadId'] );
134 }
135 }
136
137 #endregion
138 }