diff --git a/mirzaev/neuroseti/system/api.php b/mirzaev/neuroseti/system/api.php new file mode 100644 index 0000000..7214a25 --- /dev/null +++ b/mirzaev/neuroseti/system/api.php @@ -0,0 +1,21 @@ + + */ +enum api: string +{ + case openai = 'OpenAI'; +} + diff --git a/mirzaev/neuroseti/system/network.php b/mirzaev/neuroseti/system/network.php index ceb314f..6d4c2e3 100644 --- a/mirzaev/neuroseti/system/network.php +++ b/mirzaev/neuroseti/system/network.php @@ -4,6 +4,9 @@ declare(strict_types=1); namespace mirzaev\neuroseti; +// Files of the project +use mirzaev\neuroseti\api; + /** * Neural network * @@ -22,22 +25,48 @@ enum network: string case gpt_4_1_nano = 'GPT-4.1 nano'; case o_4_mini = 'o4-mini'; - // OpenAI GPT-5 + // OpenAI GPT-5 case gpt_5 = 'GPT-5'; case gpt_5_mini = 'GPT-5 mini'; case gpt_5_nano = 'GPT-5 nano'; case gpt_5_pro = 'GPT-5 pro'; - // OpenAI GPT RealTime + // OpenAI GPT RealTime case gpt_realtime = 'GPT realtime'; case gpt_realtime_mini = 'GPT realtime mini'; - // OpenAI Sora 2 + // OpenAI Sora 2 case sora_2 = 'Sora 2'; case sora_2_pro = 'Sora 2 pro'; - // OpenAI Image Generation + // OpenAI Image Generation case gpt_image_1 = 'GPT image 1'; case gpt_image_1_mini = 'GPT image 1 mini'; -} + /** + * API + * + * @return api The neural network API + */ + public function api(): api + { + // Exit (success) + return match ($this) { + static::gpt_4_1, + static::gpt_4_1_mini, + static::gpt_4_1_nano, + static::o_4_mini, + static::gpt_5, + static::gpt_5_mini, + static::gpt_5_nano, + static::gpt_5_pro, + static::gpt_realtime, + static::gpt_realtime_mini, + static::sora_2, + static::sora_2_pro, + static::gpt_image_1, + static::gpt_image_1_mini, + => api::openai + }; + } +}