记忆

短期记忆

智能体上下文的重要组成部分

使用方法

VeADK 通过以下方式定义一个短期记忆(在不进行特殊指定的情况下,记忆默认将会在内存中存储):

memory.py
import asyncio

from veadk import Agent
from veadk.memory import ShortTermMemory
from veadk.runner import Runner

short_term_memory = ShortTermMemory(backend="local")
agent = Agent(short_term_memory=short_term_memory)

runner = Runner(agent=agent)

response = asyncio.run(runner.run("北京天气"))

print(response)

后端适配

通过设置初始化 ShortTermMemory 时的 backend 参数来指定不同的短期记忆存储后端:

类别说明
local内存短期记忆,程序结束后即清空
mysql使用 MySQL 数据库存储短期记忆,可实现持久化
sqlite使用本地 SQLite 数据库存储短期记忆,可实现持久化
postgresql使用 PostgreSQL 数据库存储短期记忆,可实现持久化
database已废弃,设置后将会自动转为 sqlite
后端选项 database 已废弃。

详细参数

backend
Literal['local','mysql','sqlite','postgresql','database']
默认 local - 短期记忆后端,local 表示内存存储,mysql 表示 MySQL/PostgreSQL 存储,sqlite 表示 SQLite 存储。
backend_configs
dict
后端特定配置。默认空字典。
db_url
string
数据库连接 URL,例如 sqlite:///./test.db。最高优先级,设置后会覆盖 backend 参数。
local_database_path
string
本地数据库路径,仅在 backendsqlite 时使用。默认 /tmp/veadk_local_database.db
after_load_memory_callback
Callable | None
加载后端记忆后调用的回调函数。回调函数接收 Session 作为输入。默认 None