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