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