mastra
v0.1.10

Mastra是一个自以为是的打字稿框架,可帮助您快速构建AI应用程序和功能。它为您提供了所需的一组原始内容:工作流程,代理,抹布,集成,同步和evals。您可以在本地计算机上运行mastra,也可以部署到无服务器云。
Mastra的主要特征是:
| 特征 | 描述 |
|---|---|
| LLM型号 | Mastra支持各种LLM提供商,包括OpenAI,Anthropic,Google Gemini。您可以选择特定的模型和提供商,选择系统和用户提示,并决定是否流式响应。 |
| 代理商 | 代理是语言模型选择一系列动作的系统。在Mastra中,代理商为LLM模型提供工具,工作流和同步数据。代理可以调用您自己的功能或第三方集成的API,并访问您构建的知识库。 |
| 工具 | 工具是可以通过代理或工作流程执行的键入功能,具有内置的集成访问和参数验证。每个工具都有一个定义其输入的模式,该架构是实现其逻辑的执行函数,并访问了配置的集成。 |
| 工作流程 | 工作流程是耐用的基于图形的状态机。他们有循环,分支,等待人类输入,嵌入其他工作流程,进行错误处理,重试,解析等。它们可以用代码或视觉编辑器构建。工作流程中的每个步骤都有内置的OpenTelemetry跟踪。 |
| 抹布 | 检索演出的一代(RAG)使您可以为代理人构建知识库。 RAG是一种具有特定查询技术的ETL管道,包括块,嵌入和矢量搜索。 |
| 集成与同步 | 在Mastra中,同步是异步函数,可以在不同的执行环境中部署为背景任务。集成是为第三方服务的自动生成的,类型的API客户端,可以用作代理商或工作流程中的步骤。 |
| evals | Evals是自动测试,使用模型级,基于规则和统计方法评估LLM输出。每个评估都返回可以记录和比较的0-1之间的归一化分数。可以通过自己的提示和评分功能来定制evals。 |
如果您没有LLM提供商的API密钥,则可以从以下服务中获得一项:
如果您没有这些提供商的帐户,则可以注册并获取API密钥。 OpenAI和人类需要信用卡才能获取API密钥。双子座没有,并且具有宽敞的自由层的API。
作为第一步,创建一个项目目录并导航到其中:
mkdir hello-mastra
cd hello-mastra接下来,使用NPM初始化一个打字稿项目:
npm init -y
npm install typescript tsx @types/node @mastra/core@alpha --save-devmkdir src
touch src/index.ts然后,将此代码添加到src/index.ts :
import { Agent } from '@mastra/core' ;
async function main ( ) {
const agent = new Agent ( {
name : 'story-writer' ,
maxSteps : 3 ,
model : {
provider : 'OPEN_AI' ,
name : 'gpt-4o' ,
toolChoice : 'auto' ,
} ,
instructions : `You are a helpful assistant who writes creative stories.` ,
tools : { } ,
} ) ;
const result = await agent . text ( {
messages : [ 'Write a short story about a robot learning to paint.' ] ,
} ) ;
console . log ( 'Agent response:' , result . text ) ;
}
main ( ) ;最后,运行脚本:
OPENAI_API_KEY= < your-openai-api-key > npx tsx src/index.ts如果您使用的是拟人化,请设置ANTHROPIC_API_KEY 。如果您使用的是Gemini,请设置GOOGLE_GENERATIVE_AI_API_KEY 。
我们有一个开放的社区不和谐。来打个招呼,让我们知道您是否有任何疑问或需要任何帮助使事情运行。
如果您将项目留在页面顶部,这也非常有帮助