记忆
短期记忆
智能体上下文的重要组成部分
使用方法
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
本地数据库路径,仅在
backend
为 sqlite
时使用。默认 /tmp/veadk_local_database.db
。after_load_memory_callback
Callable | None
加载后端记忆后调用的回调函数。回调函数接收
Session
作为输入。默认 None
。