diff --git a/tests/test_misc.py b/tests/test_misc.py index 0832c8ee..f6ae6e84 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -19,6 +19,13 @@ def test_encoding_for_model(): assert enc.name == "o200k_base" enc = tiktoken.encoding_for_model("gpt-oss-120b") assert enc.name == "o200k_harmony" + # Regression: "gpt-4.5" (exact name without a version suffix) must resolve + # via MODEL_TO_ENCODING, not the "gpt-4.5-" prefix which requires a trailing + # hyphen and therefore doesn't match the bare model name. + enc = tiktoken.encoding_for_model("gpt-4.5") + assert enc.name == "o200k_base" + enc = tiktoken.encoding_for_model("gpt-4.5-preview") + assert enc.name == "o200k_base" def test_optional_blobfile_dependency(): diff --git a/tiktoken/model.py b/tiktoken/model.py index 5c669af4..a77b1db6 100644 --- a/tiktoken/model.py +++ b/tiktoken/model.py @@ -33,6 +33,7 @@ "o4-mini": "o200k_base", # chat "gpt-5": "o200k_base", + "gpt-4.5": "o200k_base", "gpt-4.1": "o200k_base", "gpt-4o": "o200k_base", "gpt-4": "cl100k_base",