Skip to content

tinker_cookbook.renderers.RenderContext

class tinker_cookbook.renderers.RenderContext()

Context passed to render_message for rendering a single message.

This allows renderers to access information about the message's position in the conversation without changing the render_message signature for each new piece of context needed.

Fields:

  • idx (int) – Index of the message in the conversation (0-based).
  • is_last (bool) – Whether this is the last message in the conversation.
  • prev_message (Message | None, default: None) – The previous message in the conversation, if any.
  • last_user_index (int, default: -1) – Index of the last user message in the conversation. -1 if no user messages.

    This is computed by the base build_generation_prompt/build_supervised_example and used by renderers like Qwen3.5 that need to treat assistant messages differently based on whether they come before or after the last user message. - in_last_assistant_turn (bool, default: False) – Whether this message belongs to the turn the model is being asked to produce.

    Distinct from is_last, which is literally the final message. A turn can span several messages -- an assistant message, a tool response, the assistant's follow-up -- so a renderer that keeps reasoning in the produced turn while stripping it from history has to ask about the turn, not the message. _last_assistant_turn_start_index says where it starts.

Referenced by