Persistent storage for agent sessions, runs, and state.
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: ...# 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# 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
): ...# 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
): ...# 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): ...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
)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
)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"
)
)