Skip to main content

Databases Overview

PraisonAI supports 22 database backends across three categories.

Installation

pip install "praisonai[tools]"

Conversation Stores (6)

Store conversation history and session data.
DatabaseBackend KeyDocker Command
PostgreSQLpostgresdocker run -d -p 5432:5432 -e POSTGRES_PASSWORD=pass postgres:16
MySQLmysqldocker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pass mysql:8
SQLitesqliteNo setup needed
SingleStoresinglestoreCloud service
SupabasesupabaseCloud service
SurrealDBsurrealdbdocker run -d -p 8000:8000 surrealdb/surrealdb

Knowledge Stores (10)

Vector databases for semantic search and RAG.
DatabaseBackend KeyDocker Command
Qdrantqdrantdocker run -d -p 6333:6333 qdrant/qdrant
ChromaDBchromaLocal file storage
PineconepineconeCloud service
Weaviateweaviatedocker run -d -p 8080:8080 semitechnologies/weaviate
LanceDBlancedbLocal file storage
Milvusmilvusdocker run -d -p 19530:19530 milvusdb/milvus
PGVectorpgvectorPostgreSQL + pgvector extension
Redis Vectorredisdocker run -d -p 6379:6379 redis/redis-stack
Cassandracassandradocker run -d -p 9042:9042 cassandra
ClickHouseclickhousedocker run -d -p 8123:8123 clickhouse/clickhouse-server

State Stores (6)

Key-value stores for session state and caching.
DatabaseBackend KeyDocker Command
Redisredisdocker run -d -p 6379:6379 redis:7
MongoDBmongodbdocker run -d -p 27017:27017 mongo
DynamoDBdynamodbAWS service
FirestorefirestoreGCP service
UpstashupstashCloud service
MemorymemoryIn-process (no persistence)

Quick Setup

from praisonai.persistence.factory import (
    create_conversation_store,
    create_knowledge_store,
    create_state_store
)

# Conversation
conv = create_conversation_store("postgres", url="postgresql://localhost/db")

# Knowledge
knowledge = create_knowledge_store("qdrant", url="http://localhost:6333")

# State
state = create_state_store("redis", url="redis://localhost:6379")

Next Steps