Storage: Database & Media

Agentica 的存储抽象层:会话/记忆/指标用统一数据库接口,多模态生成内容用 Media Artifact 模型。

Database Layer (agentica/db/)

统一存储抽象,覆盖 sessions、memories、metrics、knowledge 四类表。

Base class BaseDbagentica/db/base.py):CRUD 抽象方法。

Implementations

实现 说明
SqliteDb 文件型,无外部依赖(默认)
PostgresDb 生产级关系型
MysqlDb MySQL / MariaDB
RedisDb 高速缓存 / 会话存储
JsonDb 文件型 JSON(开发用)
InMemoryDb 仅运行时内存(测试用)

Features

  • filter_base64_media() 防止大 base64 字符串落库
  • SessionRowMemoryRowMetricsRow 类型化 schema(agentica/db/base.py
  • 支持长期记忆、会话历史、用量指标
from agentica import SqliteDb
db = SqliteDb(db_file="~/.agentica/data/agent.db")

Media Artifacts (agentica/media.py)

生成式多模态内容的 Pydantic 模型,均继承 Media 基类(idoriginal_promptrevised_prompt):

模型 字段 说明
VideoArtifact url, eta, length 远程视频 + 元数据
ImageArtifact urlcontent, mime_type, alt_text 远程 URL 或图片 bytes
AudioArtifact urlbase64_audio, mime_type, length 音频(校验器强制 URL 与 inline 二选一)

输入侧媒体模型 Video / Audio / Image(本地 filepath / bytes / URL,互斥校验)可从 agentica 顶层直接导入。

下一步