Skip to content

Commit 47143c7

Browse files
committed
Simplify OpenAI model list
1 parent 5819827 commit 47143c7

4 files changed

Lines changed: 23 additions & 20 deletions

File tree

src/main/kotlin/cn/yiiguxing/plugin/translate/trans/openai/OpenAiModel.kt

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,16 @@ sealed interface OpenAiModel {
1414
* See: [OpenAi GPT Models](https://platform.openai.com/docs/models)
1515
*/
1616
enum class OpenAiGPTModel(override val modelId: String, override val modelName: String) : OpenAiModel {
17-
GPT_5("gpt-5", "GPT-5"),
18-
GPT_5_MINI("gpt-5-mini", "GPT-5 mini"),
19-
GPT_5_NANO("gpt-5-nano", "GPT-5 nano"),
20-
GPT_4O("gpt-4o", "GPT-4o"),
21-
GPT_4O_MINI("gpt-4o-mini", "GPT-4o mini"),
22-
GPT_4_1("gpt-4.1", "GPT-4.1"),
23-
GPT_4_1_MINI("gpt-4.1-mini", "GPT-4.1 mini"),
24-
GPT_4_1_NANO("gpt-4.1-nano", "GPT-4.1 nano"),
25-
GPT_4_TURBO("gpt-4-turbo", "GPT-4 Turbo"),
26-
GPT_4("gpt-4", "GPT-4"),
27-
GPT_3_5_TURBO("gpt-3.5-turbo", "GPT-3.5 Turbo"),
28-
O4_MINI("o4-mini", "o4-mini"),
29-
O3("o3", "o3"),
30-
O3_MINI("o3-mini", "o3-mini"),
31-
O1("o1", "o1"),
17+
GPT_5_4_MINI("gpt-5.4-mini", "GPT-5.4 mini"),
18+
GPT_5_4("gpt-5.4", "GPT-5.4"),
19+
GPT_5_5("gpt-5.5", "GPT-5.5");
20+
21+
companion object {
22+
/**
23+
* Get the default GPT model.
24+
*/
25+
fun getDefault(): OpenAiGPTModel = GPT_5_4_MINI
26+
}
3227
}
3328

3429
/**
@@ -42,6 +37,14 @@ enum class OpenAiTTSModel(
4237
TTS_1("tts-1", "TTS-1", isClassic = true),
4338
TTS_1_HD("tts-1-hd", "TTS-1 HD", isClassic = true),
4439
GPT_4O_MINI_TTS("gpt-4o-mini-tts", "GPT-4o mini TTS"),
40+
;
41+
42+
companion object {
43+
/**
44+
* Get the default TTS model.
45+
*/
46+
fun getDefault(): OpenAiTTSModel = TTS_1
47+
}
4548
}
4649

4750
fun OpenAiTTSModel.getSupportedVoices(): List<OpenAiTtsVoice> = if (isClassic) {

src/main/kotlin/cn/yiiguxing/plugin/translate/trans/openai/OpenAiSettings.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class OpenAiSettings : BaseState(), PersistentStateComponent<OpenAiSettings> {
5050
var endpoint: String? by string()
5151

5252
@get:OptionTag("TTS_MODEL")
53-
var ttsModel: OpenAiTTSModel by enum(OpenAiTTSModel.TTS_1)
53+
var ttsModel: OpenAiTTSModel by enum(OpenAiTTSModel.getDefault())
5454

5555
@get:OptionTag("TTS_VOICE")
5656
var ttsVoice: OpenAiTtsVoice by enum(OpenAiTtsVoice.ALLOY)
@@ -62,7 +62,7 @@ class OpenAiSettings : BaseState(), PersistentStateComponent<OpenAiSettings> {
6262
@Tag("open-ai")
6363
class OpenAi : CommonState(), OpenAiService.OpenAIOptions {
6464
@get:OptionTag("MODEL")
65-
override var model: OpenAiGPTModel by enum(OpenAiGPTModel.GPT_4O_MINI)
65+
override var model: OpenAiGPTModel by enum(OpenAiGPTModel.getDefault())
6666

6767
@get:OptionTag("CUSTOM_MODEL")
6868
override var customModel: String? by string()

src/main/kotlin/cn/yiiguxing/plugin/translate/trans/openai/ui/OpenAISettingsDialog.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,10 @@ class OpenAISettingsDialog(private val configType: ConfigType) : DialogWrapper(f
131131
if (it.stateChange == ItemEvent.SELECTED) {
132132
when (configType) {
133133
ConfigType.TRANSLATOR -> openAiState.model =
134-
it.item as? OpenAiGPTModel ?: OpenAiGPTModel.values().first()
134+
it.item as? OpenAiGPTModel ?: OpenAiGPTModel.getDefault()
135135

136136
ConfigType.TTS -> {
137-
commonStates.ttsModel = it.item as? OpenAiTTSModel ?: OpenAiTTSModel.values().first()
137+
commonStates.ttsModel = it.item as? OpenAiTTSModel ?: OpenAiTTSModel.getDefault()
138138
updateVoicesAndFixSelection()
139139
}
140140
}

src/main/kotlin/cn/yiiguxing/plugin/translate/trans/openai/ui/OpenAISettingsUiImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ internal class OpenAISettingsUiImpl(private val configType: ConfigType) : OpenAI
7373
private val modelWrapper = JPanel(UI.migLayout(gapX = UI.migSize(10), lcBuilder = { hideMode(3) }))
7474
override val modelComboBox: ComboBox<OpenAiModel> = ComboBox<OpenAiModel>().apply {
7575
val models = when (configType) {
76-
ConfigType.TRANSLATOR -> OpenAiGPTModel.values().toList()
76+
ConfigType.TRANSLATOR -> OpenAiGPTModel.values().toList().reversed()
7777
ConfigType.TTS -> OpenAiTTSModel.values().toList()
7878
}
7979
model = CollectionComboBoxModel(models)

0 commit comments

Comments
 (0)