Skip to main content

Module memory

Module memory 

Source
Expand description

Conversation memory: Rig-managed persistent conversation history for agents.

Memory differs from existing agent context features:

  • classic runtime context: static documents always included in prompts;
  • classic runtime request patches: per-turn documents supplied by application hooks;
  • caller-managed message history supplied directly on completion requests;
  • Memory (this module): Rig-managed history loaded and saved automatically per conversation id.

§Example

use rig_core::{
    completion::Message,
    memory::{ConversationMemory, InMemoryConversationMemory},
};

let memory = InMemoryConversationMemory::new();
memory
    .append(
        "thread-1",
        vec![
            Message::user("My name is Alice."),
            Message::assistant("Hello, Alice!"),
        ],
    )
    .await?;
let history = memory.load("thread-1").await?;
assert_eq!(history.len(), 2);

Truncation, summarization, and other history-shaping policies live in the rig-memory companion crate. To shape history inside the in-tree backend, pass a closure to InMemoryConversationMemory::with_filter.

Structs§

InMemoryConversationMemory
A simple thread-safe in-memory ConversationMemory backed by a HashMap.
NoopDemotionHook
A DemotionHook that does nothing. Useful as a default when an adapter requires a hook value but the caller has no long-tail store wired up yet.

Enums§

MemoryError
Errors produced by a ConversationMemory backend.

Traits§

Compactor
Derives a single Message-shaped artifact from a slice of messages that a memory policy has evicted from the active window.
ConversationMemory
A persistent conversation history backend.
DemotionHook
A side-channel for messages that a memory policy or adapter removes from active history during ConversationMemory::load.
MessageFilter
A history-shaping closure applied during InMemoryConversationMemory::load.

Type Aliases§

MemoryBackendErrorNon-target_family=wasm
Boxed error source for memory backend failures.