From e0091666460af174b8a77562558ffc0826864060 Mon Sep 17 00:00:00 2001 From: dhunganapramod9 Date: Sat, 28 Feb 2026 01:08:20 -0500 Subject: [PATCH] fix(tokenizer): add bounds check for system-only conversation to avoid IndexError --- nanochat/tokenizer.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nanochat/tokenizer.py b/nanochat/tokenizer.py index a2146c2..77d5404 100644 --- a/nanochat/tokenizer.py +++ b/nanochat/tokenizer.py @@ -284,6 +284,8 @@ class RustBPETokenizer: # some conversation surgery is necessary here for now... conversation = copy.deepcopy(conversation) # avoid mutating the original messages = conversation["messages"] + if len(messages) < 2: + raise ValueError("System message must be followed by a user message") assert messages[1]["role"] == "user", "System message must be followed by a user message" messages[1]["content"] = messages[0]["content"] + "\n\n" + messages[1]["content"] messages = messages[1:]