Letta · Schema
CompactionSettings
Configuration for conversation compaction / summarization. Per-model settings (temperature, max tokens, etc.) are derived from the default configuration for that handle.
AIAgentsStateful AgentsMemoryMemGPTContinual LearningMCPMulti-AgentRAGOpen Source
Properties
| Name | Type | Description |
|---|---|---|
| model | object | Model handle to use for sliding_window/all summarization (format: provider/model-name). If None, uses lightweight provider-specific defaults. |
| model_settings | object | Optional model settings used to override defaults for the summarizer model. |
| prompt | object | The prompt to use for summarization. If None, uses mode-specific default. |
| prompt_acknowledgement | boolean | Whether to include an acknowledgement post-prompt (helps prevent non-summary outputs). |
| clip_chars | object | The maximum length of the summary in characters. If none, no clipping is performed. |
| mode | string | The type of summarization technique use. |
| sliding_window_percentage | number | The percentage of the context window to keep post-summarization (only used in sliding window modes). |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/CompactionSettings-Output",
"title": "CompactionSettings",
"properties": {
"model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Model",
"description": "Model handle to use for sliding_window/all summarization (format: provider/model-name). If None, uses lightweight provider-specific defaults."
},
"model_settings": {
"anyOf": [
{
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIModelSettings"
},
{
"$ref": "#/components/schemas/SGLangModelSettings"
},
{
"$ref": "#/components/schemas/AnthropicModelSettings"
},
{
"$ref": "#/components/schemas/GoogleAIModelSettings"
},
{
"$ref": "#/components/schemas/GoogleVertexModelSettings"
},
{
"$ref": "#/components/schemas/AzureModelSettings"
},
{
"$ref": "#/components/schemas/XAIModelSettings"
},
{
"$ref": "#/components/schemas/ZAIModelSettings"
},
{
"$ref": "#/components/schemas/GroqModelSettings"
},
{
"$ref": "#/components/schemas/DeepseekModelSettings"
},
{
"$ref": "#/components/schemas/TogetherModelSettings"
},
{
"$ref": "#/components/schemas/BedrockModelSettings"
},
{
"$ref": "#/components/schemas/BasetenModelSettings"
},
{
"$ref": "#/components/schemas/OpenRouterModelSettings"
},
{
"$ref": "#/components/schemas/ChatGPTOAuthModelSettings"
}
],
"discriminator": {
"propertyName": "provider_type",
"mapping": {
"anthropic": "#/components/schemas/AnthropicModelSettings",
"azure": "#/components/schemas/AzureModelSettings",
"baseten": "#/components/schemas/BasetenModelSettings",
"bedrock": "#/components/schemas/BedrockModelSettings",
"chatgpt_oauth": "#/components/schemas/ChatGPTOAuthModelSettings",
"deepseek": "#/components/schemas/DeepseekModelSettings",
"google_ai": "#/components/schemas/GoogleAIModelSettings",
"google_vertex": "#/components/schemas/GoogleVertexModelSettings",
"groq": "#/components/schemas/GroqModelSettings",
"openai": "#/components/schemas/OpenAIModelSettings",
"openrouter": "#/components/schemas/OpenRouterModelSettings",
"sglang": "#/components/schemas/SGLangModelSettings",
"together": "#/components/schemas/TogetherModelSettings",
"xai": "#/components/schemas/XAIModelSettings",
"zai": "#/components/schemas/ZAIModelSettings"
}
}
},
{
"type": "null"
}
],
"title": "Model Settings",
"description": "Optional model settings used to override defaults for the summarizer model."
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt",
"description": "The prompt to use for summarization. If None, uses mode-specific default."
},
"prompt_acknowledgement": {
"type": "boolean",
"title": "Prompt Acknowledgement",
"description": "Whether to include an acknowledgement post-prompt (helps prevent non-summary outputs).",
"default": false
},
"clip_chars": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Clip Chars",
"description": "The maximum length of the summary in characters. If none, no clipping is performed.",
"default": 50000
},
"mode": {
"type": "string",
"enum": [
"all",
"sliding_window",
"self_compact_all",
"self_compact_sliding_window"
],
"title": "Mode",
"description": "The type of summarization technique use.",
"default": "sliding_window"
},
"sliding_window_percentage": {
"type": "number",
"title": "Sliding Window Percentage",
"description": "The percentage of the context window to keep post-summarization (only used in sliding window modes)."
}
},
"type": "object",
"description": "Configuration for conversation compaction / summarization.\n\nPer-model settings (temperature,\nmax tokens, etc.) are derived from the default configuration for that handle."
}