Skip to main content

Database Adapters

Database adapters provide persistence for conversations, sessions, and agent state.

Available Adapters

AdapterDescription
SQLiteAdapterSQLite database
UpstashRedisAdapterUpstash Redis
MemoryRedisAdapterIn-memory Redis-compatible
NeonPostgresAdapterNeon PostgreSQL
MemoryPostgresAdapterIn-memory PostgreSQL-compatible
PostgresSessionStoragePostgreSQL session storage

SQLite

import { createSQLiteAdapter } from 'praisonai';

const db = createSQLiteAdapter({
  filename: './data.db'
});

await db.saveMessage({ role: 'user', content: 'Hello' });
const messages = await db.getMessages();

Redis (Upstash)

import { createUpstashRedis } from 'praisonai';

const redis = createUpstashRedis({
  url: process.env.UPSTASH_REDIS_URL,
  token: process.env.UPSTASH_REDIS_TOKEN
});

PostgreSQL (Neon)

import { createNeonPostgres, createPostgresSessionStorage } from 'praisonai';

const pg = createNeonPostgres({
  connectionString: process.env.DATABASE_URL
});

const sessions = createPostgresSessionStorage({
  connectionString: process.env.DATABASE_URL
});

CLI Usage

praisonai-ts db info
praisonai-ts db adapters --json