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 Agent2from kern.db.postgres import PostgresDb3from os import getenv45# Get your Supabase project and password6SUPABASE_PROJECT = getenv("SUPABASE_PROJECT")7SUPABASE_PASSWORD = getenv("SUPABASE_PASSWORD")89SUPABASE_DB_URL = (10 f"postgresql://postgres:{SUPABASE_PASSWORD}@db.{SUPABASE_PROJECT}:5432/postgres"11)1213# Setup the Supabase database14db = PostgresDb(db_url=SUPABASE_DB_URL)1516# Setup your Agent with the Database17agent = Agent(db=db)Params
| Parameter | Type | Default | Description |
|---|---|---|---|
id | Optional[str] | - | The ID of the database instance. UUID by default. |
db_url | Optional[str] | - | The database URL to connect to. |
db_engine | Optional[Engine] | - | The SQLAlchemy database engine to use. |
db_schema | Optional[str] | - | The database schema to use. |
session_table | Optional[str] | - | Name of the table to store Agent, Team and Workflow sessions. |
memory_table | Optional[str] | - | Name of the table to store memories. |
metrics_table | Optional[str] | - | Name of the table to store metrics. |
eval_table | Optional[str] | - | Name of the table to store evaluation runs data. |
knowledge_table | Optional[str] | - | Name of the table to store knowledge content. |
traces_table | Optional[str] | - | Name of the table to store traces. |
spans_table | Optional[str] | - | Name of the table to store spans. |