TokenBudgetConversationFormatter

@ApiStatus.Experimental
class TokenBudgetConversationFormatter constructor(tokenCountEstimator: <Error class: unknown class><Message>, tokenBudget: Int, messageFormatter: MessageFormatter = SimpleMessageFormatter, startIndex: Int = 0) : ConversationFormatter

Conversation formatter that selects the most recent messages that fit within a token budget. Accumulates messages from the end backward until the budget is exhausted.

Uses TokenCountEstimator<Message> to estimate token cost at the message level, allowing estimators to account for per-message framing overhead (role markers, special tokens) in addition to content length.

Parameters

tokenCountEstimator

estimates tokens per message

tokenBudget

maximum tokens to include

messageFormatter

formats individual messages for output (default: SimpleMessageFormatter)

startIndex

number of messages to skip from the beginning (default: 0)

Constructors

Link copied to clipboard
constructor(tokenCountEstimator: <Error class: unknown class><Message>, tokenBudget: Int, messageFormatter: MessageFormatter = SimpleMessageFormatter, startIndex: Int = 0)

Functions

Link copied to clipboard
open override fun format(conversation: Conversation): String