Skip to main content

Context Compression

This page documents praisonaiagents.rag.ContextCompressor for compressing retrieved RAG chunks. For compressing conversation history in long agent runs, see LLM Context Compression.
Context compression reduces retrieved content to fit within token budgets while preserving query-relevant information. The user retrieves large knowledge chunks; compression deduplicates and trims text to fit the token budget.

How It Works

Overview

The ContextCompressor provides:
  • Deduplication of similar content
  • Query-focused extraction of relevant sentences
  • Token-aware truncation to fit budgets
  • LLM summarization fallback for aggressive compression

Quick Start

1

Compress retrieved chunks

2

Search with compression via CLI

Compression Strategies

Deduplication

Removes duplicate or near-duplicate content:

Query-Focused Extraction

Extracts sentences most relevant to the query:

Truncation

Simple truncation to fit token budget:

LLM Summarization

Uses LLM for aggressive compression:

Compression Results

CompressionResult Structure

Working with Results

CLI Usage

Integration with Agents

Best Practices

llm_summarize=True preserves decisions and facts better than blunt truncation.
Use on_pre_compress to persist important facts before messages are discarded.
Re-fetch compressed-away details via hybrid search instead of keeping everything inline.
Review observability history to confirm compression helps rather than hurts answer quality.

API Reference

ContextCompressor

CompressionResult

Memory backends can implement the on_pre_compress hook to extract and persist important facts before compression discards messages. See Memory Lifecycle Hooks for details.

Smart Retrieval

Hybrid search before compression

Token Budgeting

Set budgets for retrieved context