aiMemory

Create AI memory instances for storing conversation history, context, or knowledge bases.

🧠 Memory Types Overview

Syntax

aiMemory(memory, key, userId, conversationId, config)

Parameters

Parameter
Type
Required
Default
Description

memory

string

No

(config)

Memory type to create

key

string

No

UUID

Unique identifier for memory instance

userId

string

No

""

User identifier for multi-tenant isolation

conversationId

string

No

""

Conversation identifier for multiple conversations

config

struct

No

{}

Configuration struct for the memory instance

Memory Types

Conversation Memory Types

Type
Description
Use Case

window

Buffer of recent messages

Short-term conversation context

cache

CacheBox-backed memory

Distributed conversation storage

file

File-based persistence

Simple local persistence

jdbc

Database-backed memory

Enterprise conversation storage

session

Session-scoped memory

User session conversations

summary

Summarized conversation history

Long conversations with summaries

Vector Memory Types (RAG)

Type
Description
Use Case

boxvector

Built-in vector storage

Development, small datasets

chroma

ChromaDB vector database

Production RAG, local/cloud

milvus

Milvus vector database

Large-scale vector search

mysql

MySQL vector extension

MySQL vector search

typesense

Typesense vector search

Fast semantic search

pgvector

PostgreSQL vector extension

PostgreSQL-based RAG

pinecone

Pinecone cloud vectors

Managed cloud vector DB

qdrant

Qdrant vector database

High-performance vectors

weaviate

Weaviate vector database

GraphQL vector queries

hybrid

Combined vector + conversation

Best of both worlds

Returns

Returns an IAiMemory instance with methods:

  • add(message) - Add message to memory

  • get(limit) - Retrieve messages

  • clear() - Clear all messages

  • seed(documents) - Bulk add documents (vector memory)

  • search(query, limit) - Semantic search (vector memory)

  • getRelevant(query, limit) - Get relevant context

Examples

Window Memory (Default)

Vector Memory for RAG

Multi-Tenant Memory

Cache Memory

File Memory

JDBC Memory

Summary Memory

Multiple Memories

Manual Memory Operations

Configuration Options by Type

Window Memory

Vector Memory

Cache Memory

File Memory

Notes

  • Auto-detection: Default memory type from module configuration

  • Multi-tenant: Use userId and conversationId for isolation

  • Vector RAG: Vector memories automatically search for context

  • Conversation history: Window/cache memories maintain chat context

  • Persistence: File, JDBC, and cache memories persist across requests

  • Hybrid: Combine multiple memory types for different purposes

Best Practices

Last updated