Gemini.Types.Live.ContextWindowCompression (GeminiEx v0.9.1)

Copy Markdown View Source

Context window compression configuration for Live API sessions.

Enables context window compression - a mechanism for managing the model's context window so that it does not exceed a given length.

Fields

  • trigger_tokens - Number of tokens that triggers compression (default: 80% of context limit)
  • sliding_window - Sliding window compression mechanism configuration

Example

%ContextWindowCompression{
  trigger_tokens: 16000,
  sliding_window: %SlidingWindow{target_tokens: 8000}
}

Summary

Functions

Parses from API response.

Creates a new ContextWindowCompression configuration.

Converts to API format (camelCase).

Types

t()

@type t() :: %Gemini.Types.Live.ContextWindowCompression{
  sliding_window: Gemini.Types.Live.SlidingWindow.t() | nil,
  trigger_tokens: integer() | nil
}

Functions

from_api(data)

@spec from_api(map() | nil) :: t() | nil

Parses from API response.

new(opts \\ [])

@spec new(keyword()) :: t()

Creates a new ContextWindowCompression configuration.

to_api(value)

@spec to_api(t() | map() | nil) :: map() | nil

Converts to API format (camelCase).

Accepts structs, maps with atom keys, or maps with string keys. Uses fetch_value to properly preserve falsey values like 0 or false.