Record Class Agent.TokenUsage

Object
Record
akka.javasdk.agent.Agent.TokenUsage
Record Components:
inputTokens - the input token count as the provider reports it
outputTokens - tokens in the response returned by the model
cacheReadInputTokens - prompt tokens served from the provider's prompt cache, or 0 when the provider reports nothing
cacheWriteInputTokens - prompt tokens written to the provider's prompt cache, or 0 when the provider reports nothing
totalInputTokens - every prompt token the interaction consumed, counted once, whatever the provider
Enclosing class:
Agent

public static record Agent.TokenUsage(int inputTokens, int outputTokens, int cacheReadInputTokens, int cacheWriteInputTokens, int totalInputTokens) extends Record
The number of tokens consumed by a model interaction.

Providers differ on whether inputTokens includes cached prompt tokens. Use totalInputTokens for a count that does not depend on the provider.

totalInputTokens counts cached prompt tokens at full weight. It is not weighted by cost, and providers bill cache reads and cache writes at rates that differ from regular input tokens.

A totalInputTokens of 0 is replaced by inputTokens. This also applies to JSON that was written before the field existed.

  • Constructor Details

    • TokenUsage

      public TokenUsage(int inputTokens, int outputTokens, int cacheReadInputTokens, int cacheWriteInputTokens, int totalInputTokens)
      Creates an instance of a TokenUsage record class.
      Parameters:
      inputTokens - the value for the inputTokens record component
      outputTokens - the value for the outputTokens record component
      cacheReadInputTokens - the value for the cacheReadInputTokens record component
      cacheWriteInputTokens - the value for the cacheWriteInputTokens record component
      totalInputTokens - the value for the totalInputTokens record component
    • TokenUsage

      public TokenUsage(int inputTokens, int outputTokens)
      A usage with no prompt cache activity.
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • inputTokens

      public int inputTokens()
      Returns the value of the inputTokens record component.
      Returns:
      the value of the inputTokens record component
    • outputTokens

      public int outputTokens()
      Returns the value of the outputTokens record component.
      Returns:
      the value of the outputTokens record component
    • cacheReadInputTokens

      public int cacheReadInputTokens()
      Returns the value of the cacheReadInputTokens record component.
      Returns:
      the value of the cacheReadInputTokens record component
    • cacheWriteInputTokens

      public int cacheWriteInputTokens()
      Returns the value of the cacheWriteInputTokens record component.
      Returns:
      the value of the cacheWriteInputTokens record component
    • totalInputTokens

      public int totalInputTokens()
      Returns the value of the totalInputTokens record component.
      Returns:
      the value of the totalInputTokens record component