
O MASTRA é uma estrutura de texto digitalizada opinativa que ajuda a criar aplicativos e recursos de IA rapidamente. Ele fornece o conjunto de primitivas de que você precisa: fluxos de trabalho, agentes, trapos, integrações, sincronizações e evalas. Você pode executar o mastra na sua máquina local ou implantar em uma nuvem sem servidor.
Os principais recursos de mastra são:
| Características | Descrição |
|---|---|
| Modelos LLM | A Mastra suporta uma variedade de provedores de LLM, incluindo OpenAI, Antrópico, Google Gemini. Você pode escolher o modelo e o provedor específicos, escolher os avisos do sistema e do usuário e decidir se deve transmitir a resposta. |
| Agentes | Os agentes são sistemas em que o modelo de idioma escolhe uma sequência de ações. No Mastra, os agentes fornecem aos modelos LLM ferramentas, fluxos de trabalho e dados sincronizados. Os agentes podem chamar suas próprias funções ou APIs de integrações de terceiros e acessar as bases de conhecimento que você constrói. |
| Ferramentas | As ferramentas são funções digitadas que podem ser executadas por agentes ou fluxos de trabalho, com acesso integrado interno e validação de parâmetros. Cada ferramenta possui um esquema que define suas entradas, uma função de executor que implementa sua lógica e acesso a integrações configuradas. |
| Fluxos de trabalho | Os fluxos de trabalho são máquinas de estado duráveis baseadas em gráficos. Eles têm loops, ramificando, aguardam a entrada humana, incorporam outros fluxos de trabalho, fazem manuseio de erros, tentativas, análise e assim por diante. Eles podem ser construídos em código ou com um editor visual. Cada etapa de um fluxo de trabalho tem rastreamento de Opentelemetria interno. |
| Pano | A geração de recuperação (RAG) permite construir uma base de conhecimento para os agentes. O RAG é um pipeline ETL com técnicas de consulta específicas, incluindo pesquisa, incorporação e pesquisa de vetores. |
| Integrações e sincronizações | No Mastra, as sincronizações são funções assíncronas que podem ser implantadas como tarefas de segundo plano em diferentes ambientes de execução. As integrações são clientes de API gerados automaticamente e seguros para serviços de terceiros que podem ser usados como ferramentas para agentes ou etapas nos fluxos de trabalho. |
| Evals | O EVALS são testes automatizados que avaliam saídas de LLM usando métodos estatísticos com base no modelo, baseados em regras e estatísticos. Cada aval retorna uma pontuação normalizada entre 0-1 que pode ser registrada e comparada. O EVALS pode ser personalizado com seus próprios prompts e funções de pontuação. |
Se você não possui uma chave de API para um provedor LLM, poderá obter um dos seguintes serviços:
Se você não tiver uma conta com esses provedores, pode se inscrever e obter uma chave de API. OpenAI e Anthropic exigem um cartão de crédito para obter uma chave da API. Gêmeos não tem e tem um nível livre generoso para sua API.
Como primeiro passo, crie um diretório de projeto e navegue nele:
mkdir hello-mastra
cd hello-mastraEm seguida, inicialize um projeto de digitação usando o NPM:
npm init -y
npm install typescript tsx @types/node @mastra/core@alpha --save-devmkdir src
touch src/index.ts Em seguida, adicione este código ao 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 ( ) ;Finalmente, execute o script:
OPENAI_API_KEY= < your-openai-api-key > npx tsx src/index.ts Se você estiver usando antropic, defina o ANTHROPIC_API_KEY . Se você estiver usando Gemini, defina o GOOGLE_GENERATIVE_AI_API_KEY .
Temos uma discórdia da comunidade aberta. Venha dizer olá e informe -nos se tiver alguma dúvida ou precisar de ajuda para fazer as coisas em funcionamento.
Também é super útil se você deixar o projeto uma estrela aqui no topo da página