Class SlidingWindow

  • All Implemented Interfaces:

    
    public abstract class SlidingWindow
    extends JsonSerializable
                        

    Context window will be truncated by keeping only suffix of it.

    Context window will always be cut at start of USER role turn. System instructions and `BidiGenerateContentSetup.prefix_turns` will not be subject to the sliding window mechanism, they will always stay at the beginning of context window.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      public abstract class SlidingWindow.Builder

      Builder for SlidingWindow.

    • Constructor Summary

      Constructors 
      Constructor Description
      SlidingWindow()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract Optional<Long> targetTokens() Session reduction target -- how many tokens we should keep.
      static SlidingWindow.Builder builder() Instantiates a builder for SlidingWindow.
      abstract SlidingWindow.Builder toBuilder() Creates a builder with the same values as this instance.
      static SlidingWindow fromJson(String jsonString) Deserializes a JSON string to a SlidingWindow object.
      • Methods inherited from class com.google.genai.JsonSerializable

        fromJsonNode, fromJsonString, objectMapper, setMaxReadLength, stringToJsonNode, toJson, toJsonNode, toJsonString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SlidingWindow

        SlidingWindow()
    • Method Detail

      • targetTokens

         abstract Optional<Long> targetTokens()

        Session reduction target -- how many tokens we should keep. Window shortening operation has some latency costs, so we should avoid running it on every turn. Should be <trigger_tokens. If not set, trigger_tokens/2 is assumed.