- 预览
- 代码
- 文档
复制
/**
* Agentic chat using Mastra
*/
import { Agent } from '@mastra/core/agent';
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { Memory } from '@mastra/memory'
import { LibSQLStore } from "@mastra/libsql";
const memory = new Memory({
storage: new LibSQLStore({
url: ':memory:',
}),
});
/**
* Create agentic chat agent
*/
export function createAgenticChatAgent(): Agent {
const openaiCompatible = createOpenAICompatible({
name: 'custom',
baseURL: process.env.OPENAI_BASE_URL!,
apiKey: process.env.OPENAI_API_KEY!,
includeUsage: true, // Include usage information in streaming responses
});
const agent = new Agent({
name: 'agentic-chat-agent',
description: 'A helpful AI assistant',
model: openaiCompatible(process.env.OPENAI_MODEL!),
instructions: 'You are a helpful assistant.',
memory
});
return agent;
}
对话式 Agent - Mastra
本演示展示
本演示展示了 AG-Kit 与 Mastra 框架的集成:- Mastra 框架:使用 Mastra 的 Agent 系统和内置功能
- 简化 Agent 创建:Mastra 的声明式 Agent 配置
- 工具集成:无缝的工具绑定和执行
- 状态管理:内置的对话状态处理
- OpenAI 集成:原生 OpenAI 模型支持
如何交互
尝试这些建议或提出您自己的问题:- “提醒用户台风”(触发警报工具)
- “将背景颜色改为蓝色/红色/绿色/黄色/紫色/橙色/粉色/棕色/灰色/黑色/白色”(触发颜色更改)
- “获取我当前位置”(触发地理定位工具)
- “你好,你今天怎么样?”
- “你能帮我写一个关于机器人的短故事吗?“
技术实现
后端 (Mastra):- Mastra 的带有声明式配置的
Agent类 - 内置 OpenAI 模型集成
- 自动工具注册和处理
- 简化的状态管理
- 原生流式支持
- 相同的
useChat钩子和AgKitChat组件 - 三个内置工具:
alert、change-background-color和get-current-location
关键特性
- 声明式配置:使用最少的样板代码进行简单的 Agent 设置
- 内置最佳实践:Mastra 自动处理常见模式
- 框架灵活性:易于在不同 Agent 框架之间切换
- 统一接口:跨 AG-Kit 集成的一致 API