Skip to main content
PraisonAI uses three store types to manage different kinds of information for your agents.

Quick Start

1

Use All Three Stores


Quick Comparison

AspectConversation StoreKnowledge StoreState Store
What it storesChat messagesDocuments & chunksLearned facts & preferences
Agent parammemory={"session_id": "..."}knowledge=[...]memory=True
LifetimePersistentPersistentPersistent
DirectionRead + WriteRead-mostlyRead + Write
SearchSequentialSemantic (RAG)Text similarity
DependenciesNonechromadbNone (file) / chromadb
Use caseResume conversationsAnswer from documentsRemember preferences

Conversation Store

Saves chat messages so users can resume conversations after app restart.

Supported Databases

PostgreSQL

Production-ready

SQLite

Lightweight, local

JSON

Zero dependencies

Knowledge Store

Pre-loads documents into a vector database for semantic search (RAG). Agents find relevant information by meaning, not keywords.

Supported Databases

ChromaDB

Default, local

Qdrant

Production vector DB

Pinecone

Managed cloud

State Store

Stores learned facts, preferences, and entities across sessions. Agents get smarter over time.

Database Configuration

By default, State Store uses JSON files. To use a database backend:

Supported Databases

JSON Files

Zero dependencies

Redis

Fast, ephemeral

MongoDB

Document-oriented

Which Store Do I Need?


Using Multiple Stores Together

The most powerful pattern combines all three stores.

Different Databases Per Store

Each store type can use a different database independently:
StoreConfigAvailable Backends
ConversationMemoryConfig(backend="...")file, sqlite, postgres, redis, mongodb
KnowledgeKnowledgeConfig(vector_store={...})ChromaDB, Qdrant, Pinecone, Weaviate, LanceDB, Milvus, PGVector
StateMemoryConfig(backend="...", learn=True)file, sqlite, postgres, redis, mongodb

Performance

Store TypeSetup TimeQuery TimeDependencies
Conversation0ms1-5msNone
Knowledge1-5s per doc50-200mschromadb
State (file)0ms1-5msNone
State (chromadb)~100ms20-100mschromadb
Start with zero-dependency stores (JSON files). Add chromadb only when you need semantic search.

Best Practices

Most agents only need one store type. Add memory={"session_id": "..."} for chat apps, knowledge=[...] for document Q&A, or memory=True for learning agents. Combine only when your use case requires it.
Include user context in session IDs: user-123-main, support-ticket-456. This isolates conversations and makes debugging easier.
JSON files work for development. For production: PostgreSQL for conversation stores, ChromaDB or Qdrant for knowledge stores, Redis for fast state stores.
Load only relevant documents per agent. A support agent needs FAQs, not engineering specs. Smaller knowledge bases give faster, more accurate results.

Context vs Memory

Ephemeral vs persistent data

Context vs Knowledge

Runtime vs pre-loaded data

Knowledge vs Memory vs Context

Complete comparison with RAG

Session Management

Session persistence details