cel-summarizer 0.2.0

LLM-backed Summarizer implementations (Anthropic + Ollama) for cel-memory.
Documentation

cel-summarizer

crates.io docs.rs CI

LLM-backed Summarizer implementations for cel-memory.

Wire a summarizer into BasicMemoryProvider::with_summarizer or SqliteMemoryProvider::with_summarizer to enable session summaries and rollups.

Providers

Type Backend Default model
AnthropicSummarizer Claude Messages API claude-haiku-4-5
OllamaSummarizer Local Ollama llama3.2:3b-instruct-q4_K_M

Environment

Variable Purpose
CEL_SUMMARIZER_PROVIDER anthropic (default) or ollama
ANTHROPIC_API_KEY Required for Anthropic
CEL_SUMMARIZER_MODEL Override default model
OLLAMA_BASE_URL Ollama base URL (default http://127.0.0.1:11434)

build_default reads these variables and falls back to Ollama when Anthropic is unavailable.

Example

use std::sync::Arc;

use cel_memory::{BasicMemoryProvider, Summarizer};
use cel_summarizer::build_default;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let summarizer: Arc<dyn Summarizer> = build_default()?;
    let memory = BasicMemoryProvider::new().with_summarizer(summarizer);
    let _ = memory;
    Ok(())
}

License

Apache-2.0 — see LICENSE-APACHE.