or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

agent.mdagentos.mdeval.mdexceptions.mdguardrails.mdindex.mdknowledge.mdmedia.mdmemory.mdmodels.mdsessions.mdstorage.mdteam.mdtools.mdworkflow.md
tile.json

storage.mddocs/

Storage and Database API

Persistent storage for agent sessions, runs, and state.

Capabilities

Database Base Class

from agno.db import BaseDb

class BaseDb:
    """Base class for all storage backends"""
    
    def create_session(self, session: AgentSession) -> None: ...
    def read_session(self, session_id: str) -> Optional[AgentSession]: ...
    def update_session(self, session: AgentSession) -> None: ...
    def delete_session(self, session_id: str) -> None: ...

SQL Databases

# PostgreSQL
from agno.db.postgres import PostgresDb

class PostgresDb:
    def __init__(
        self,
        db_url: Optional[str] = None,
        schema: str = "ai",
        table_name: str = "agent_sessions",
        **kwargs
    ): ...

# SQLite
from agno.db.sqlite import SqliteDb

class SqliteDb:
    def __init__(
        self,
        db_file: Optional[str] = None,
        table_name: str = "agent_sessions",
        **kwargs
    ): ...

# MySQL
from agno.db.mysql import MySQLDb

NoSQL Databases

# MongoDB
from agno.db.mongo import MongoDb

class MongoDb:
    def __init__(
        self,
        db_url: Optional[str] = None,
        db_name: str = "agno",
        collection_name: str = "agent_sessions",
        **kwargs
    ): ...

# Redis
from agno.db.redis import RedisDb

class RedisDb:
    def __init__(
        self,
        redis_url: Optional[str] = None,
        key_prefix: str = "agno:",
        **kwargs
    ): ...

Cloud Databases

# Google Firestore
from agno.db.firestore import FirestoreDb

class FirestoreDb:
    def __init__(
        self,
        project_id: Optional[str] = None,
        collection_name: str = "agent_sessions",
        **kwargs
    ): ...

# AWS DynamoDB
from agno.db.dynamo import DynamoDb

class DynamoDb:
    def __init__(
        self,
        table_name: str,
        region_name: Optional[str] = None,
        aws_access_key_id: Optional[str] = None,
        aws_secret_access_key: Optional[str] = None,
        **kwargs
    ): ...

File-based Storage

# JSON file storage
from agno.db.json import JsonDb

class JsonDb:
    def __init__(
        self,
        db_file: str = "agent_sessions.json",
        **kwargs
    ): ...

# In-memory storage
from agno.db.in_memory import InMemoryDb

class InMemoryDb:
    def __init__(self, **kwargs): ...

Usage Examples

Using PostgreSQL

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.db.postgres import PostgresDb

agent = Agent(
    model=OpenAIChat(id="gpt-4"),
    db=PostgresDb(
        db_url="postgresql://user:pass@localhost:5432/agno",
        schema="ai",
        table_name="sessions"
    ),
    add_history_to_context=True
)

Using SQLite

from agno.agent import Agent
from agno.db.sqlite import SqliteDb

agent = Agent(
    model=OpenAIChat(id="gpt-4"),
    db=SqliteDb(db_file="agent.db"),
    add_history_to_context=True
)

Using MongoDB

from agno.agent import Agent
from agno.db.mongo import MongoDb

agent = Agent(
    model=OpenAIChat(id="gpt-4"),
    db=MongoDb(
        db_url="mongodb://localhost:27017",
        db_name="agno",
        collection_name="sessions"
    )
)