| Server IP : 104.26.3.156 / Your IP : 216.73.216.185 Web Server : nginx/1.27.1 System : Linux us-1 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 User : vinodai ( 3134) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /storage/v1396/wwwindicidolscom/public_html/wp-content/plugins/ai-engine/classes/query/ |
Upload File : |
<?php
class Meow_MWAI_Query_Embed extends Meow_MWAI_Query_Base {
public ?int $dimensions = null;
public function __construct( $messageOrQuery = null ) {
if ( is_a( $messageOrQuery, 'Meow_MWAI_Query_Text' ) || is_a( $messageOrQuery, 'Meow_MWAI_Query_Assistant' ) ) {
$lastMessage = $messageOrQuery->get_message();
if ( !empty( $lastMessage ) ) {
$this->set_message( $lastMessage );
}
$this->session = $messageOrQuery->session;
$this->scope = $messageOrQuery->scope;
$this->apiKey = $messageOrQuery->apiKey;
$this->botId = $messageOrQuery->botId;
$this->customId = $messageOrQuery->customId;
$this->envId = $messageOrQuery->envId;
}
else {
parent::__construct( $messageOrQuery ? $messageOrQuery : '' );
}
global $mwai_core;
$ai_embeddings_default_env = $mwai_core->get_option( 'ai_embeddings_default_env' );
$ai_embeddings_default_model = $mwai_core->get_option( 'ai_embeddings_default_model' );
$ai_embeddings_default_dimensions = $mwai_core->get_option( 'ai_embeddings_default_dimensions' );
if ( empty( $ai_embeddings_default_env ) || empty( $ai_embeddings_default_model ) ) {
throw new Exception( __( 'No default embeddings environment or model is configured. Please go to Settings > AI > Default Environments for AI > Embeddings and select an environment and model.', 'ai-engine' ) );
}
$this->set_env_id( $ai_embeddings_default_env );
$this->set_model( $ai_embeddings_default_model );
if ( $ai_embeddings_default_dimensions ) {
$this->set_dimensions( $ai_embeddings_default_dimensions );
}
$this->feature = 'embedding';
}
/**
* Set the dimensions for the embedding model
* @param int $dimensions
*/
public function set_dimensions( $dimensions ) {
$this->dimensions = $dimensions;
}
#[\ReturnTypeWillChange]
public function jsonSerialize(): array {
$json = [
'message' => $this->message,
'ai' => [
'model' => $this->model,
'feature' => $this->feature,
'dimensions' => $this->dimensions,
],
'system' => [
'class' => get_class( $this ),
'envId' => $this->envId,
'scope' => $this->scope,
'session' => $this->session,
'customId' => $this->customId,
]
];
if ( !empty( $this->context ) ) {
$json['context']['content'] = $this->context;
}
return $json;
}
}