PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 1.9.6
AI Engine – The Chatbot, AI Framework & MCP for WordPress v1.9.6
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 / api.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
api.php
127 lines
1 <?php
2
3 class Meow_MWAI_API {
4 public $core;
5 private $chatbot_module;
6 private $discussions_module;
7
8 public function __construct( $chatbot_module, $discussions_module ) {
9 global $mwai_core;
10 $this->core = $mwai_core;
11 $this->chatbot_module = $chatbot_module;
12 $this->discussions_module = $discussions_module;
13 add_action( 'rest_api_init', array( $this, 'rest_api_init' ) );
14 }
15
16 function rest_api_init() {
17 $public_api = $this->core->get_option( 'public_api' );
18 if ( !$public_api ) {
19 return;
20 }
21 register_rest_route( 'mwai/v1', '/simpleTextQuery', array(
22 'methods' => 'POST',
23 'callback' => array( $this, 'rest_simpleTextQuery' ),
24 'permission_callback' => function( $request ) {
25 return $this->core->can_access_public_api( 'simpleTextQuery', $request );
26 },
27 ) );
28 register_rest_route( 'mwai/v1', '/moderationCheck', array(
29 'methods' => 'POST',
30 'callback' => array( $this, 'rest_moderationCheck' ),
31 'permission_callback' => function( $request ) {
32 return $this->core->can_access_public_api( 'moderationCheck', $request );
33 },
34 ) );
35
36 if ( $this->chatbot_module ) {
37 register_rest_route( 'mwai/v1', '/simpleChatbotQuery', array(
38 'methods' => 'POST',
39 'callback' => array( $this, 'rest_simpleChatbotQuery' ),
40 'permission_callback' => function( $request ) {
41 return $this->core->can_access_public_api( 'simpleChatbotQuery', $request );
42 },
43 ) );
44 }
45 }
46
47 public function rest_simpleChatbotQuery( $request ) {
48 try {
49 $params = $request->get_params();
50 $botId = isset( $params['botId'] ) ? $params['botId'] : '';
51 $prompt = isset( $params['prompt'] ) ? $params['prompt'] : '';
52 $chatId = isset( $params['chatId'] ) ? $params['chatId'] : null;
53 $params = null;
54 if ( !empty( $chatId ) ) {
55 $params = array( 'chatId' => $chatId );
56 }
57 if ( empty( $botId ) || empty( $prompt ) ) {
58 throw new Exception( 'The botId and prompt are required.' );
59 }
60 $reply = $this->simpleChatbotQuery( $botId, $prompt, $params );
61 return new WP_REST_Response([ 'success' => true, 'data' => $reply ], 200 );
62 }
63 catch (Exception $e) {
64 return new WP_REST_Response([ 'success' => false, 'message' => $e->getMessage() ], 500 );
65 }
66 }
67
68 public function rest_simpleTextQuery( $request ) {
69 try {
70 $params = $request->get_params();
71 $prompt = isset( $params['prompt'] ) ? $params['prompt'] : '';
72 $options = isset( $params['options'] ) ? $params['options'] : [];
73 $env = isset( $params['env'] ) ? $params['env'] : 'public-api';
74 if ( !empty( $env ) ) {
75 $options['env'] = $env;
76 }
77 if ( empty( $prompt ) ) {
78 throw new Exception( 'The prompt is required.' );
79 }
80 $reply = $this->simpleTextQuery( $prompt, $options );
81 return new WP_REST_Response([ 'success' => true, 'data' => $reply ], 200 );
82 }
83 catch (Exception $e) {
84 return new WP_REST_Response([ 'success' => false, 'message' => $e->getMessage() ], 500 );
85 }
86 }
87
88 public function rest_moderationCheck( $request ) {
89 try {
90 $params = $request->get_params();
91 $text = $params['text'];
92 $reply = $this->moderationCheck( $text );
93 return new WP_REST_Response([ 'success' => true, 'data' => $reply ], 200 );
94 }
95 catch (Exception $e) {
96 return new WP_REST_Response([ 'success' => false, 'message' => $e->getMessage() ], 500 );
97 }
98 }
99
100 public function simpleChatbotQuery( $botId, $prompt, $params = [] ) {
101 if ( !isset( $params['messages'] ) && isset( $params['chatId'] ) ) {
102 $discussion = $this->discussions_module->get_discussion( $botId, $params['chatId'] );
103 if ( !empty( $discussion ) ) {
104 $params['messages'] = $discussion->messages;
105 }
106 }
107 $data = $this->chatbot_module->chat_submit( $botId, $prompt, $params );
108 return $data['reply'];
109 }
110
111 public function simpleTextQuery( $prompt, $params = [] ) {
112 global $mwai_core;
113 $query = new Meow_MWAI_Query_Text( $prompt );
114 $query->injectParams( $params );
115 $reply = $mwai_core->ai->run( $query );
116 return $reply->result;
117 }
118
119 public function moderationCheck( $text ) {
120 global $mwai_core;
121 $openai = new Meow_MWAI_Engines_OpenAI( $mwai_core );
122 $res = $openai->moderate( $text );
123 if ( !empty( $res ) && !empty( $res['results'] ) ) {
124 return (bool)$res['results'][0]['flagged'];
125 }
126 }
127 }