PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 0.3.1
AI Engine – The Chatbot, AI Framework & MCP for WordPress v0.3.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 / core.php
ai-engine / classes Last commit date
modules 3 years ago admin.php 3 years ago ai.php 3 years ago answer.php 3 years ago core.php 3 years ago init.php 3 years ago openai.php 3 years ago query.php 3 years ago queryimage.php 3 years ago querytext.php 3 years ago rest.php 3 years ago ui.php 3 years ago
core.php
163 lines
1 <?php
2
3 require_once( MWAI_PATH . '/vendor/autoload.php' );
4
5 define( 'MWAI_CHATBOT_PARAMS', [
6 // UI Parameters
7 'id' => null,
8 'context' => "Converse as if you were an AI assistant. Be friendly, creative.",
9 'ai_name' => "AI: ",
10 'user_name' => "User: ",
11 'sys_name' => "System: ",
12 'start_sentence' => "Hi! How can I help you?",
13 'text_send' => 'Send',
14 'text_input_placeholder' => 'Type your message...',
15 'style' => 'chatgpt',
16 'window' => false,
17 'fullscreen' => false,
18 // Chatbot System Parameters
19 'casually_fined_tuned' => false,
20 'prompt_ending' => null,
21 'completion_ending' => null,
22 // AI Parameters
23 'model' => 'text-davinci-003',
24 'temperature' => 0.8,
25 'max_tokens' => 1024,
26 'api_key' => null
27 ] );
28
29 define( 'MWAI_OPTIONS', [
30 'module_titles' => true,
31 'module_excerpts' => true,
32 'module_blocks' => false,
33 'shortcode_chat' => true,
34 'shortcode_chat_params' => MWAI_CHATBOT_PARAMS,
35 'shortcode_chat_default_params' => MWAI_CHATBOT_PARAMS,
36 'shortcode_chat_html' => true,
37 'shortcode_chat_formatting' => true,
38 'shortcode_chat_syntax_highlighting' => false,
39 'shortcode_chat_inject' => false,
40 'shortcode_imagesbot' => false,
41 'openai_apikey' => false,
42 'openai_usage' => [],
43 'openai_finetunes' => [],
44 'openai_finetunes_deleted' => [],
45 'extra_models' => ""
46 ]);
47
48 class Meow_MWAI_Core
49 {
50 public $admin = null;
51 public $is_rest = false;
52 public $is_cli = false;
53 public $site_url = null;
54 public $ai = null;
55 private $option_name = 'mwai_options';
56 public $defaultChatbotParams = MWAI_CHATBOT_PARAMS;
57
58 public function __construct() {
59 $this->site_url = get_site_url();
60 $this->is_rest = MeowCommon_Helpers::is_rest();
61 $this->is_cli = defined( 'WP_CLI' ) && WP_CLI;
62 $this->ai = new Meow_MWAI_AI( $this );
63 add_action( 'plugins_loaded', array( $this, 'init' ) );
64 }
65
66 function init() {
67 if ( $this->is_rest ) {
68 new Meow_MWAI_Rest( $this );
69 }
70 if ( is_admin() ) {
71 new Meow_MWAI_Admin( $this );
72 }
73 else {
74 new Meow_MWAI_UI( $this );
75 }
76
77 // Modules
78 if ( $this->get_option( 'shortcode_chat' ) ) {
79 new Meow_MWAI_Modules_Chatbot();
80 }
81 if ( $this->get_option( 'shortcode_imagesbot' ) ) {
82 new Meow_MWAI_Modules_ImagesBot();
83 }
84 //if ( $this->get_option( 'module_titles' ) ) {
85 new Meow_MWAI_Modules_ContentAware();
86 //}
87 }
88
89 #region Helpers
90 function can_access_settings() {
91 return apply_filters( 'mwai_allow_setup', current_user_can( 'manage_options' ) );
92 }
93
94 function can_access_features() {
95 return apply_filters( 'mwai_allow_usage', current_user_can( 'administrator' ) );
96 }
97
98 function get_text_from_postId( $postId ) {
99 $post = get_post( $postId );
100 if ( !$post ) {
101 return false;
102 }
103 $post->post_content = apply_filters( 'the_content', $post->post_content );
104 $text = strip_tags( $post->post_content );
105 $text = preg_replace( '/^\h*\v+/m', '', $text );
106 $text = html_entity_decode( $text );
107 return $text;
108 }
109 #endregion
110
111 #region Options
112 function get_all_options() {
113 $options = get_option( $this->option_name, null );
114 foreach ( MWAI_OPTIONS as $key => $value ) {
115 if ( !isset( $options[$key] ) ) {
116 $options[$key] = $value;
117 }
118 }
119 return $options;
120 }
121
122 // Validate and keep the options clean and logical.
123 function sanitize_options() {
124 $options = $this->get_all_options();
125 $needs_update = false;
126
127 // We can sanitize our future options here, let's always remember it.
128 // Now, it is empty...
129
130 if ( $needs_update ) {
131 update_option( $this->option_name, $options, false );
132 }
133 return $options;
134 }
135
136 function update_options( $options ) {
137 if ( !update_option( $this->option_name, $options, false ) ) {
138 return false;
139 }
140 $options = $this->sanitize_options();
141 return $options;
142 }
143
144 function update_option( $option, $value ) {
145 $options = $this->get_all_options();
146 $options[$option] = $value;
147 return $this->update_options( $options );
148 }
149
150 function get_option( $option, $default = null ) {
151 $options = $this->get_all_options();
152 return $options[$option] ?? $default;
153 }
154 #endregion
155
156 function markdown_to_html( $content ) {
157 $Parsedown = new Parsedown();
158 $content = $Parsedown->text( $content );
159 return $content;
160 }
161 }
162
163 ?>