translation/translated/documents/course/03-agent-memory/16-configuring-semantic-rec...

44 lines
1.7 KiB
Markdown

# 配置语义回忆
让我们使用自定义语义回忆设置更新我们的智能体:
```typescript
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({
id: "learning-memory-vector",
connectionUrl: "file:../../vector.db", // 相对于 `.mastra/output` 目录的相对路径
}), // 用于语义搜索的向量数据库
embedder: openai.embedding("text-embedding-3-small"), // 用于消息嵌入的嵌入器
options: {
lastMessages: 20, // 在上下文中包含最后 20 条消息
semanticRecall: true, // 启用具有默认设置的语义回忆
},
});
// 创建具有配置内存的智能体
export const memoryAgent = new Agent({
name: "MemoryAgent",
instructions: `
您是一个具有高级记忆能力的助手。
您可以记住之前的对话和用户偏好。
当用户分享关于自己的信息时,请承认并记住以供将来参考。
如果被问及对话中较早提到的内容,请准确回忆。
您还可以在适当时从较早的对话中回忆相关信息。
`,
model: openai("gpt-4o"),
memory: memory,
});
```
要让语义回忆工作,您需要配置一个**向量存储**。您还需要配置一个**嵌入器**。您可以使用任何与此兼容的嵌入模型。在本例中,我们使用的是 OpenAI 的 `text-embedding-3-small` 模型。