Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4d35c84e35 | |||
| 0832095f73 |
21
mirzaev/neuroseti/system/api.php
Normal file
21
mirzaev/neuroseti/system/api.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace mirzaev\neuroseti;
|
||||
|
||||
/**
|
||||
* API
|
||||
*
|
||||
* Types of neural networks API
|
||||
*
|
||||
* @package mirzaev\neuroseti
|
||||
*
|
||||
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
|
||||
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
|
||||
*/
|
||||
enum api: string
|
||||
{
|
||||
case openai = 'OpenAI';
|
||||
}
|
||||
|
||||
@@ -4,6 +4,9 @@ declare(strict_types=1);
|
||||
|
||||
namespace mirzaev\neuroseti;
|
||||
|
||||
// Files of the project
|
||||
use mirzaev\neuroseti\api;
|
||||
|
||||
/**
|
||||
* Neural network
|
||||
*
|
||||
@@ -17,27 +20,79 @@ namespace mirzaev\neuroseti;
|
||||
enum network: string
|
||||
{
|
||||
// OpenAI GPT-4
|
||||
case gpt_4_1 = 'GPT-4.1';
|
||||
case gpt_4_1_mini = 'GPT-4.1 mini';
|
||||
case gpt_4_1_nano = 'GPT-4.1 nano';
|
||||
case o_4_mini = 'o4-mini';
|
||||
case gpt_4_1 = 'gpt-4.1';
|
||||
case gpt_4_1_mini = 'gpt-4.1-mini';
|
||||
case gpt_4_1_nano = 'gpt-4.1-nano';
|
||||
case o4_mini = 'o4-mini';
|
||||
|
||||
// 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';
|
||||
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
|
||||
case gpt_realtime = 'GPT realtime';
|
||||
case gpt_realtime_mini = 'GPT realtime mini';
|
||||
case gpt_realtime = 'gpt-realtime';
|
||||
case gpt_realtime_mini = 'gpt-realtime-mini';
|
||||
|
||||
// OpenAI Sora 2
|
||||
case sora_2 = 'Sora 2';
|
||||
case sora_2_pro = 'Sora 2 pro';
|
||||
case sora_2 = 'sora-2';
|
||||
case sora_2_pro = 'sora-2-pro';
|
||||
|
||||
// OpenAI Image Generation
|
||||
case gpt_image_1 = 'GPT image 1';
|
||||
case gpt_image_1_mini = 'GPT image 1 mini';
|
||||
case gpt_image_1 = 'gpt-image-1';
|
||||
case gpt_image_1_mini = 'gpt-image-1-mini';
|
||||
|
||||
/**
|
||||
* Label
|
||||
*
|
||||
* @return string The neural network label
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
// Exit (success)
|
||||
return match ($this) {
|
||||
static::gpt_4_1 => 'GPT-4.1',
|
||||
static::gpt_4_1_mini => 'GPT-4.1 mini',
|
||||
static::gpt_4_1_nano => 'GPT-4.1 nano',
|
||||
static::o4_mini => 'o4-mini',
|
||||
static::gpt_5 => 'GPT-5',
|
||||
static::gpt_5_mini => 'GPT-5 mini',
|
||||
static::gpt_5_nano => 'GPT-5 nano',
|
||||
static::gpt_5_pro => 'GPT-5 pro',
|
||||
static::gpt_realtime => 'GPT realtime',
|
||||
static::gpt_realtime_mini => 'GPT realtime mini',
|
||||
static::sora_2 => 'Sora 2',
|
||||
static::sora_2_pro => 'Sora 2 pro',
|
||||
static::gpt_image_1 => 'GPT image 1',
|
||||
static::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::o4_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
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user