MyAgent/src/mastra/agents/multi-function-agent.ts

114 lines
6.2 KiB
TypeScript
Raw Normal View History

import { Agent } from "@mastra/core/agent";
import {
goodsTool,
cabinetTool,
shopTool,
dynamicInfoTool,
codeExecutorTool,
searchEntityTool,
} from "../tools";
import { createDeepSeek } from '@ai-sdk/deepseek';
2025-12-21 23:16:00 +08:00
import { createOpenAI } from '@ai-sdk/openai';
import { Memory } from "@mastra/memory";
import { LibSQLStore } from "@mastra/libsql";
2025-12-21 23:16:00 +08:00
// const deepseek = createDeepSeek({
// apiKey: 'sk-8603b08e1125422ca6238c8b4a1a40d8',
// });
const mimimo = createDeepSeek({
2025-12-21 23:16:00 +08:00
baseURL: 'https://api.xiaomimimo.com/v1',
apiKey: 'sk-cr54p8d2k20nppdzzwyfir4b4znxoh1py6ccxpkc8qt1ahij'
});
/* const minimax = createDeepSeek({
baseURL: 'https://api.minimaxi.com/v1',
apiKey: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJHcm91cE5hbWUiOiLmtbfonrrnlKjmiLdfMzk5OTkzOTAwNzMxMjk3ODAwIiwiVXNlck5hbWUiOiLmtbfonrrnlKjmiLdfMzk5OTkzOTAwNzMxMjk3ODAwIiwiQWNjb3VudCI6IiIsIlN1YmplY3RJRCI6IjE5NDM1NTIyOTIzNDcxOTE1MzgiLCJQaG9uZSI6IjE3NjkxMjMxOTI0IiwiR3JvdXBJRCI6IjE5NDM1NTIyOTIzNDI5OTcyMzQiLCJQYWdlTmFtZSI6IiIsIk1haWwiOiIiLCJDcmVhdGVUaW1lIjoiMjAyNS0xMC0yOCAwOTozNjozNiIsIlRva2VuVHlwZSI6MSwiaXNzIjoibWluaW1heCJ9.SBjpp3BoIhxPLgEjUxnTZvjFMlAQLeP_PNHc2sFvmNrjus3xb6oK8SAQAD2MfjgOaMmBRlNWONcdlSAwChcseRm_b4y6n4_-3alrwjstebETh4EblIXASFNNbLk0JC5Ha2ICIKdvkN4vLnLJwq-zNNvyPnCSqxeKVJQyOuwFkoFrtJThw0Wj_z7DMBo9edanzW_kPSwh15jBbzs289hOjFkv8ZFmpxh80-bNMEBqOJ3Af_zDPOR_Se-hr1z1TNL_aaociFyfyYXMrjRibmK49BifJeZdQ6q6EsSZg-z2rywXycsVOebW85a1sTslVEFrZjkYDb4CfbdudPg3k4Rcvw'
}); */
2025-12-21 23:16:00 +08:00
// const openai = createOpenAI({
// baseURL: 'https://api.xiaomimimo.com/v1',
// apiKey: 'sk-cr54p8d2k20nppdzzwyfir4b4znxoh1py6ccxpkc8qt1ahij'
// });
// 创建一个基本内存实例
const memory = new Memory({
storage: new LibSQLStore({
url: "file:./memory.db", // 相对于 `.mastra/output` 目录的相对路径
}),
options: {
lastMessages: 20,
},
});
export const multiFunctionAgent = new Agent({
name: "Multi-Function Agent",
2025-12-21 23:16:00 +08:00
instructions: {
role: 'system',
content: `你是一个具有内存功能的多功能助手,具备以下能力:
1. ****使ID获取单个商品详情
2. ****使ID查询智能柜详细信息
3. ****使ID获取门店详细信息
4. ****使IDID
5. ****使
-
- name: 实体名称关键词
- entityType: 实体类型shop=/cabinet=goods=
- ID和名称列表
6. ****使 JavaScript
-
- code: 要执行的 JavaScript return
- context: 可选使cacheIds传递上下文context可能会出错
- cacheIds: 可选ID数组
- cacheId ->
- cacheGoods_0 -> cacheGoods_0
- cacheGoods_1 -> cacheGoods_1
- cacheCabinet_1 -> cacheCabinet_1
- cacheShop_0 -> cacheShop_0
- cacheDynamicInfo_0 -> cacheDynamicInfo_0
- cacheSearchEntity_0 -> cacheSearchEntity_0
-
- code: "return a + b", context: {a: 10, b: 20} -> 30
- code: "return cacheGoods_1.filter(g => g.price > 50)", cacheIds: ["cacheGoods_1"] -> 使
- code: "return cacheGoods_1.filter(g => g.price > threshold)", context: {threshold: 100}, cacheIds: ["cacheGoods_1"] -> +
7. ****
- cacheId
- cacheId cache{}{} cacheGoods_1cacheShop_0
- 使 code-executor-tool cacheIds
- mode0- 1- 2- 3- 4- 5-
- belongType 0- 1-
- shopID和名称
- cabinetID和名称
- cellID和名称
- goodsID和名称
- cellusageStatus1- 2-
earlier
使
使
`,
},
2025-12-21 23:16:00 +08:00
// model: deepseek('deepseek-chat'),
2026-01-07 18:01:51 +08:00
// model: deepseek('deepseek-reasoner'),
2025-12-21 23:16:00 +08:00
// model: openai.chat('mimo-v2-flash'),
model: mimimo.chat('mimo-v2-flash'),
// model: minimax.chat('MiniMax-M2.1'),
memory: memory,
tools: {
goodsTool,
cabinetTool,
shopTool,
dynamicInfoTool,
codeExecutorTool,
searchEntityTool,
},
});