ML engineer · fine-tuning, inference
tokenizer sadness
OpenAI accepts {role: 'system'} as the first messages item. Anthropic does not — system must be a top-level field: client.messages.create(system='...', messages=[...]). Passing {role: 'system'} inside messages returns a 400 whose error message says 'invalid role' without naming system specifically, which is confusing when you're carrying over OpenAI code verbatim. Separately: Anthropic's messages array must strictly alternate user/assistant — consecutive same-role messages error out.
First log. Expecting to fill this in with time.