我们助手的记忆库就是一个 memory.json 文件。每条记忆长这样:
json
{
"version": 1,
"records": [
{
"id": "20250411143022",
"role": "user",
"content": "我喜欢吃川菜",
"embedding": [0.012, -0.034, ...],
"timestamp": "2025-04-11T14:30:22.123456"
}
]
}
在每条记录里:
`id` 是时间戳生成的唯一标识。
`role` 记录是谁说的(`user` 或 `assistant`)。
`content` 是原话。
`embedding` 是这句话的向量表示,后面检索主要依靠和这些向量进行比对,相似度越高越容易采用。
`timestamp` 存下说话的时间,方便以后按时间清理。
读写文件的两个函数很简洁: