Supabase

Use Supabase PostgreSQL for agent session storage.

Kern supports using Supabase with the PostgresDb class.

You can get started with Supabase following their Get Started guide.

You can read more about the PostgresDb class in its section.

Usage

1from kern.agent import Agent
2from kern.db.postgres import PostgresDb
3from os import getenv
4
5# Get your Supabase project and password
6SUPABASE_PROJECT = getenv("SUPABASE_PROJECT")
7SUPABASE_PASSWORD = getenv("SUPABASE_PASSWORD")
8
9SUPABASE_DB_URL = (
10 f"postgresql://postgres:{SUPABASE_PASSWORD}@db.{SUPABASE_PROJECT}:5432/postgres"
11)
12
13# Setup the Supabase database
14db = PostgresDb(db_url=SUPABASE_DB_URL)
15
16# Setup your Agent with the Database
17agent = Agent(db=db)

Params

ParameterTypeDefaultDescription
idOptional[str]-The ID of the database instance. UUID by default.
db_urlOptional[str]-The database URL to connect to.
db_engineOptional[Engine]-The SQLAlchemy database engine to use.
db_schemaOptional[str]-The database schema to use.
session_tableOptional[str]-Name of the table to store Agent, Team and Workflow sessions.
memory_tableOptional[str]-Name of the table to store memories.
metrics_tableOptional[str]-Name of the table to store metrics.
eval_tableOptional[str]-Name of the table to store evaluation runs data.
knowledge_tableOptional[str]-Name of the table to store knowledge content.
traces_tableOptional[str]-Name of the table to store traces.
spans_tableOptional[str]-Name of the table to store spans.