Before calling a model, trim the conversation to fit budget tokens. A message costs
len(content.split()) + 4 tokens.
system messages are always kept, in order.{"role": "system", "content": "[N earlier messages omitted]"}
after the leading system messages. Its tokens count towards the budget (it always costs 8).None.Implement fit_messages. Input: messages: list[dict], budget: int. Returns: list[dict] | None.
def fit_messages(messages: list[dict], budget: int):
return messages[-3:]
Run executes the public tests. Submit grades against public and hidden tests.
Before calling a model, trim the conversation to fit budget tokens. A message costs
len(content.split()) + 4 tokens.
system messages are always kept, in order.{"role": "system", "content": "[N earlier messages omitted]"}
after the leading system messages. Its tokens count towards the budget (it always costs 8).None.Implement fit_messages. Input: messages: list[dict], budget: int. Returns: list[dict] | None.
def fit_messages(messages: list[dict], budget: int):
return messages[-3:]
Run executes the public tests. Submit grades against public and hidden tests.