Spaces:
Sleeping
Sleeping
Kyosuke Ichikawa
commited on
Add GPT-5 series models support (#21)
Browse files- Add gpt-5, gpt-5-mini, gpt-5-nano to available models
- Update OpenAI API usage with max_completion_tokens parameter
- Keep DEFAULT_MODEL as gpt-4.1-mini (better quality than gpt-5-mini for
podcast generation)
Note: gpt-4.1-mini was set as the default because it was qualitatively
better than gpt-5-mini. gpt-5-mini tends to include prompt instructions
in dialogue output (e.g., "ですます調で整理します").
- yomitalk/app.py +1 -1
- yomitalk/models/openai_model.py +6 -5
yomitalk/app.py
CHANGED
|
@@ -1322,7 +1322,7 @@ class PaperPodcastApp:
|
|
| 1322 |
with gr.Row():
|
| 1323 |
openai_max_tokens_slider = gr.Slider(
|
| 1324 |
minimum=100,
|
| 1325 |
-
maximum=
|
| 1326 |
value=OpenAIModel.DEFAULT_MAX_TOKENS,
|
| 1327 |
step=100,
|
| 1328 |
label="最大トークン数",
|
|
|
|
| 1322 |
with gr.Row():
|
| 1323 |
openai_max_tokens_slider = gr.Slider(
|
| 1324 |
minimum=100,
|
| 1325 |
+
maximum=OpenAIModel.DEFAULT_MAX_TOKENS,
|
| 1326 |
value=OpenAIModel.DEFAULT_MAX_TOKENS,
|
| 1327 |
step=100,
|
| 1328 |
label="最大トークン数",
|
yomitalk/models/openai_model.py
CHANGED
|
@@ -20,10 +20,12 @@ class OpenAIModel:
|
|
| 20 |
"gpt-4.1-nano",
|
| 21 |
"gpt-4.1-mini",
|
| 22 |
"gpt-4.1",
|
| 23 |
-
"
|
|
|
|
|
|
|
| 24 |
]
|
| 25 |
DEFAULT_MODEL = "gpt-4.1-mini"
|
| 26 |
-
DEFAULT_MAX_TOKENS = 32768
|
| 27 |
|
| 28 |
def __init__(self) -> None:
|
| 29 |
"""Initialize OpenAIModel."""
|
|
@@ -74,7 +76,7 @@ class OpenAIModel:
|
|
| 74 |
max_tokens_int = int(max_tokens)
|
| 75 |
if max_tokens_int < 100:
|
| 76 |
return False
|
| 77 |
-
if max_tokens_int >
|
| 78 |
return False
|
| 79 |
|
| 80 |
self.max_tokens = max_tokens_int
|
|
@@ -135,8 +137,7 @@ class OpenAIModel:
|
|
| 135 |
response = client.chat.completions.create(
|
| 136 |
model=self.model_name,
|
| 137 |
messages=[{"role": "user", "content": prompt}],
|
| 138 |
-
|
| 139 |
-
max_tokens=self.max_tokens,
|
| 140 |
)
|
| 141 |
|
| 142 |
# Get response content
|
|
|
|
| 20 |
"gpt-4.1-nano",
|
| 21 |
"gpt-4.1-mini",
|
| 22 |
"gpt-4.1",
|
| 23 |
+
"gpt-5-nano",
|
| 24 |
+
"gpt-5-mini",
|
| 25 |
+
"gpt-5",
|
| 26 |
]
|
| 27 |
DEFAULT_MODEL = "gpt-4.1-mini"
|
| 28 |
+
DEFAULT_MAX_TOKENS = 32768 # limit for gpt-4.1 series
|
| 29 |
|
| 30 |
def __init__(self) -> None:
|
| 31 |
"""Initialize OpenAIModel."""
|
|
|
|
| 76 |
max_tokens_int = int(max_tokens)
|
| 77 |
if max_tokens_int < 100:
|
| 78 |
return False
|
| 79 |
+
if max_tokens_int > self.DEFAULT_MAX_TOKENS:
|
| 80 |
return False
|
| 81 |
|
| 82 |
self.max_tokens = max_tokens_int
|
|
|
|
| 137 |
response = client.chat.completions.create(
|
| 138 |
model=self.model_name,
|
| 139 |
messages=[{"role": "user", "content": prompt}],
|
| 140 |
+
max_completion_tokens=self.max_tokens,
|
|
|
|
| 141 |
)
|
| 142 |
|
| 143 |
# Get response content
|