translation/translated/documents/course/03-agent-memory/25-combining-memory-feature...

82 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 构建完整的记忆增强型智能体
在这一最后步骤中,我们将把我们探讨的所有记忆功能整合在一起,创建一个完整的记忆增强型智能体。我们还将创建一个实际示例,展示这些功能如何协同工作。
## 整合所有记忆功能
让我们创建一个利用对话历史记录、语义回忆和工作记忆的综合智能体:
```typescript
// src/mastra/agents/memory-agent.ts
import { Agent } from "@mastra/core/agent";
import { Memory } from "@mastra/memory";
import { openai } from "@ai-sdk/openai";
import { LibSQLStore, LibSQLVector } from "@mastra/libsql";
// 创建全面的内存配置
const memory = new Memory({
storage: new LibSQLStore({
id: "learning-memory-storage",
url: "file:../../memory.db", // 相对于 `.mastra/output` 目录的相对路径
}),
vector: new LibSQLVector({
connectionUrl: "file:../../vector.db", // 相对于 `.mastra/output` 目录的相对路径
}),
embedder: openai.embedding("text-embedding-3-small"),
options: {
// 对话历史记录配置
lastMessages: 20, // 在上下文中包含最后 20 条消息
// 语义回忆配置
semanticRecall: {
topK: 3, // 检索 3 条最相似的消息
messageRange: {
before: 2, // 包含每次匹配前的 2 条消息
after: 1, // 包含每次匹配后的 1 条消息
},
},
// 工作记忆配置
workingMemory: {
enabled: true,
template: `
# 用户档案
## 个人信息
- 姓名:
- 位置:
- 时区:
- 职业:
## 偏好
- 沟通风格:
- 感兴趣的话题:
- 学习目标:
## 项目信息
- 当前项目:
- [项目 1]
- 截止日期:
- 状态:
- [项目 2]
- 截止日期:
- 状态:
## 会话状态
- 当前主题:
- 未解决问题:
- 行动项:
`,
},
},
});
```
这个全面的内存配置整合了我们探讨的所有三种记忆功能:
1. **对话历史记录**,使用 `lastMessages` 选项
2. **语义回忆**,使用 `semanticRecall` 选项
3. **工作记忆**,使用 `workingMemory` 选项
每种功能在增强智能体的记忆能力方面都有不同的目的,它们共同创建了一个强大的记忆系统,可以在跨对话中保持上下文并提供个性化响应。