Mastra + Ertas
使用 Mastra 用 TypeScript 构建生产级 AI 智能体——这是一个构建在 Vercel AI SDK 之上的框架,提供工作流、记忆、评估和部署能力,并对微调本地模型提供一流支持。
Overview
Mastra 是一个 TypeScript 优先的智能体框架,构建在 Vercel AI SDK 之上。它针对的是生产级智能体开发的空白领域——这些领域在 Python 生态中由 LangGraph 和 CrewAI 等框架填补——包括工作流编排、持久化记忆、结构化评估、可观测性和部署模式,但 Mastra 提供 TypeScript 的人体工学体验,并与 JavaScript/边缘生态系统紧密集成。自 2026 年 1 月发布 1.0 版本以来,Mastra 已增长至超过 22K GitHub 星标和每周 30 万以上的 npm 下载量,成为 TypeScript 生态系统中占主导地位的生产级智能体框架。
Mastra 的设计理念强调渐进式复杂度:你可以从单个智能体开始,随着需求增长添加工具和工作流,并集成记忆和评估,而无需重构代码库。该框架为智能体状态机(工作流)、对话式记忆(支持多种存储后端)、结构化工具使用和人机协同检查点提供了一流的原语。由于它构建在 Vercel AI SDK 之上,Mastra 继承了与来自 94 个提供商的 3,300 多个模型的兼容性——包括任何提供 Ertas 训练模型的兼容 OpenAI 端点。
How Ertas Integrates
Ertas 训练的模型通过 Vercel AI SDK 的提供商抽象接入 Mastra 智能体。在 Ertas Studio 中微调模型并将其部署到 Ollama、vLLM 或 Ertas Cloud(任何兼容 OpenAI 的端点)之后,你只需配置一个 Mastra 智能体使用该端点——通常只需两行提供商配置。从那时起,Mastra 的所有框架功能(工具、工作流、记忆、评估)都能像与前沿 API 模型一样,透明地与你的微调模型协同工作。
TypeScript 原生设计对于将 AI 功能交付到现有 JavaScript 产品中的团队尤为有价值。Web 应用、边缘函数、移动应用后端和 Node.js 服务都可以直接使用 Mastra 智能体,而无需桥接到 Python 服务。结合在相同边缘基础设施上提供服务的 Ertas 训练模型(例如,通过自托管服务器上的 Ollama 或 Ertas Cloud),可以实现完全自包含的 TypeScript 智能体部署,避免语言边界——这是跨语言智能体架构中的常见痛点。
Getting Started
- 1
在 Ertas Studio 中微调模型
通过 Ertas Studio 在 JSONL 数据上训练你的领域特定模型。微调后的模型会捕获你的领域词汇、推理模式和工具使用规范。
- 2
部署到兼容 OpenAI 的端点
导出为 GGUF 格式并通过 Ollama、vLLM 或 Ertas Cloud 提供服务。Mastra 适用于任何暴露标准 /v1/chat/completions API 的端点。
- 3
安装 Mastra 并配置模型提供商
安装 @mastra/core 并配置一个指向你的推理端点的自定义兼容 OpenAI 提供商。Vercel AI SDK 的 createOpenAI 辅助函数可以直接处理。
- 4
使用工具和工作流定义智能体
创建一个具有角色描述、工具(函数调用、RAG 检索器)和工作流步骤的 Mastra 智能体。如果你的用例涉及跨会话交互,请添加持久化记忆。
- 5
添加评估并交付上线
配置 Mastra 评估,在迭代过程中跟踪智能体在代表性测试集上的质量。部署到 Vercel、你自己的基础设施或任何 Node.js 主机。
import { createOpenAI } from "@ai-sdk/openai";
import { Agent } from "@mastra/core";
// Point Mastra at your Ertas-trained model served via Ollama
const ertas = createOpenAI({
baseURL: "http://localhost:11434/v1",
apiKey: "not-needed",
});
const supportAgent = new Agent({
name: "support-agent",
instructions: "You are a customer support agent for an enterprise SaaS platform.",
model: ertas("ertas-support-7b"),
tools: {
lookupCustomer: {
description: "Look up customer details by ID",
parameters: z.object({ customerId: z.string() }),
execute: async ({ customerId }) => {
return await db.customers.findById(customerId);
},
},
},
});
const result = await supportAgent.generate({
messages: [{ role: "user", content: "What's the status of my account?" }],
});
console.log(result.text);Benefits
- TypeScript 原生——直接将智能体交付到 Web 应用、边缘函数和 Node.js 服务
- 一流的 Vercel AI SDK 集成,支持 3,300 多个模型,包括本地 Ertas 训练模型
- 内置工作流编排、持久化记忆和结构化评估
- 生产级日志、可观测性和人机协同检查点
- 无语言边界地部署到 Vercel 边缘或任何 Node.js 基础设施
- 活跃且不断增长的 TypeScript 智能体生态系统,拥有强大的开源社区
Related Resources
Fine-Tuning
GGUF
Inference
LoRA
Getting Started with Ertas: Fine-Tune and Deploy Custom AI Models
Fine-Tune AI Models Without Writing Code
Running AI Models Locally: The Complete Guide to Local LLM Inference
CrewAI
LangChain
Ollama
Vercel AI SDK
vLLM
Ertas for Customer Support
Ertas for Data Extraction
Ertas for AI Automation Agencies
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.