From cbd3aab5113a4054b03d035089f76b1d88e468cf Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Thu, 7 Aug 2025 11:41:38 -0700 Subject: [PATCH] GPT-5 model IDs, refs #1229 --- docs/openai-models.md | 6 ++ docs/usage.md | 132 +++++++++++++++++++++++++++ llm/default_plugins/openai_models.py | 26 ++++++ 3 files changed, 164 insertions(+) diff --git a/docs/openai-models.md b/docs/openai-models.md index 38f278e..b66a590 100644 --- a/docs/openai-models.md +++ b/docs/openai-models.md @@ -59,6 +59,12 @@ OpenAI Chat: o1-mini OpenAI Chat: o3-mini OpenAI Chat: o3 OpenAI Chat: o4-mini +OpenAI Chat: gpt-5 +OpenAI Chat: gpt-5-mini +OpenAI Chat: gpt-5-nano +OpenAI Chat: gpt-5-2025-08-07 +OpenAI Chat: gpt-5-mini-2025-08-07 +OpenAI Chat: gpt-5-nano-2025-08-07 OpenAI Completion: gpt-3.5-turbo-instruct (aliases: 3.5-instruct, chatgpt-instruct) ``` diff --git a/docs/usage.md b/docs/usage.md index 1e270af..7e3712d 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1075,6 +1075,138 @@ OpenAI Chat: o4-mini Keys: key: openai env_var: OPENAI_API_KEY +OpenAI Chat: gpt-5 + Options: + temperature: float + max_tokens: int + top_p: float + frequency_penalty: float + presence_penalty: float + stop: str + logit_bias: dict, str + seed: int + json_object: boolean + reasoning_effort: str + Attachment types: + application/pdf, image/gif, image/jpeg, image/png, image/webp + Features: + - streaming + - schemas + - tools + - async + Keys: + key: openai + env_var: OPENAI_API_KEY +OpenAI Chat: gpt-5-mini + Options: + temperature: float + max_tokens: int + top_p: float + frequency_penalty: float + presence_penalty: float + stop: str + logit_bias: dict, str + seed: int + json_object: boolean + reasoning_effort: str + Attachment types: + application/pdf, image/gif, image/jpeg, image/png, image/webp + Features: + - streaming + - schemas + - tools + - async + Keys: + key: openai + env_var: OPENAI_API_KEY +OpenAI Chat: gpt-5-nano + Options: + temperature: float + max_tokens: int + top_p: float + frequency_penalty: float + presence_penalty: float + stop: str + logit_bias: dict, str + seed: int + json_object: boolean + reasoning_effort: str + Attachment types: + application/pdf, image/gif, image/jpeg, image/png, image/webp + Features: + - streaming + - schemas + - tools + - async + Keys: + key: openai + env_var: OPENAI_API_KEY +OpenAI Chat: gpt-5-2025-08-07 + Options: + temperature: float + max_tokens: int + top_p: float + frequency_penalty: float + presence_penalty: float + stop: str + logit_bias: dict, str + seed: int + json_object: boolean + reasoning_effort: str + Attachment types: + application/pdf, image/gif, image/jpeg, image/png, image/webp + Features: + - streaming + - schemas + - tools + - async + Keys: + key: openai + env_var: OPENAI_API_KEY +OpenAI Chat: gpt-5-mini-2025-08-07 + Options: + temperature: float + max_tokens: int + top_p: float + frequency_penalty: float + presence_penalty: float + stop: str + logit_bias: dict, str + seed: int + json_object: boolean + reasoning_effort: str + Attachment types: + application/pdf, image/gif, image/jpeg, image/png, image/webp + Features: + - streaming + - schemas + - tools + - async + Keys: + key: openai + env_var: OPENAI_API_KEY +OpenAI Chat: gpt-5-nano-2025-08-07 + Options: + temperature: float + max_tokens: int + top_p: float + frequency_penalty: float + presence_penalty: float + stop: str + logit_bias: dict, str + seed: int + json_object: boolean + reasoning_effort: str + Attachment types: + application/pdf, image/gif, image/jpeg, image/png, image/webp + Features: + - streaming + - schemas + - tools + - async + Keys: + key: openai + env_var: OPENAI_API_KEY OpenAI Completion: gpt-3.5-turbo-instruct (aliases: 3.5-instruct, chatgpt-instruct) Options: temperature: float diff --git a/llm/default_plugins/openai_models.py b/llm/default_plugins/openai_models.py index 4ec7100..0deb61b 100644 --- a/llm/default_plugins/openai_models.py +++ b/llm/default_plugins/openai_models.py @@ -157,6 +157,31 @@ def register_models(register): supports_tools=True, ), ) + # GPT-5 + for model_id in ( + "gpt-5", + "gpt-5-mini", + "gpt-5-nano", + "gpt-5-2025-08-07", + "gpt-5-mini-2025-08-07", + "gpt-5-nano-2025-08-07", + ): + register( + Chat( + model_id, + vision=True, + reasoning=True, + supports_schema=True, + supports_tools=True, + ), + AsyncChat( + model_id, + vision=True, + reasoning=True, + supports_schema=True, + supports_tools=True, + ), + ) # The -instruct completion model register( Completion("gpt-3.5-turbo-instruct", default_max_tokens=256), @@ -407,6 +432,7 @@ class SharedOptions(llm.Options): class ReasoningEffortEnum(str, Enum): + minimal = "minimal" low = "low" medium = "medium" high = "high"