
Mastra es un marco de TypeScript obstinado que lo ayuda a construir aplicaciones y características de IA rápidamente. Le brinda el conjunto de primitivas que necesita: flujos de trabajo, agentes, trapo, integraciones, sincronizaciones y evals. Puede ejecutar Mastra en su máquina local o implementar en una nube sin servidor.
Las principales características de Mastra son:
| Características | Descripción |
|---|---|
| Modelos LLM | Mastra admite una variedad de proveedores de LLM, incluidos OpenAI, Anthrope, Google Gemini. Puede elegir el modelo y el proveedor específico, elegir el sistema y las indicaciones del usuario, y decidir si transmitir la respuesta. |
| Agentes | Los agentes son sistemas donde el modelo de lenguaje elige una secuencia de acciones. En Mastra, los agentes proporcionan a los modelos LLM herramientas, flujos de trabajo y datos sincronizados. Los agentes pueden llamar a sus propias funciones o API de integraciones de terceros y acceder a las bases de conocimiento que construye. |
| Herramientas | Las herramientas son funciones tipificadas que pueden ser ejecutadas por agentes o flujos de trabajo, con acceso integrado a la integración y validación de parámetros. Cada herramienta tiene un esquema que define sus entradas, una función del ejecutor que implementa su lógica y el acceso a integraciones configuradas. |
| Flujos de trabajo | Los flujos de trabajo son máquinas estatales duraderas basadas en gráficos. Tienen bucles, ramificados, esperan la entrada humana, incrustan otros flujos de trabajo, manejan errores, reintentos, análisis, etc. Se pueden construir en código o con un editor visual. Cada paso en un flujo de trabajo tiene el rastreo incorporado de Opentelemetry. |
| TRAPO | La generación de recuperación acuática (RAG) le permite construir una base de conocimiento para los agentes. RAG es una tubería ETL con técnicas de consulta específicas, que incluyen fragmentación, incrustación y búsqueda de vectores. |
| Integraciones y sincronizaciones | En Mastra, las sincronizaciones son funciones asíncronas que se pueden implementar como tareas de fondo en diferentes entornos de ejecución. Las integraciones son clientes API generados por autos de tipo segura para servicios de terceros que pueden usarse como herramientas para agentes o pasos en los flujos de trabajo. |
| Evals | Las EVALS son pruebas automatizadas que evalúan las salidas de LLM utilizando métodos estadísticos calificados por reglas, basados en reglas. Cada eval devuelve una puntuación normalizada entre 0-1 que puede registrarse y compararse. Las evals se pueden personalizar con sus propias indicaciones y funciones de puntuación. |
Si no tiene una clave API para un proveedor de LLM, puede obtener uno de los siguientes servicios:
Si no tiene una cuenta con estos proveedores, puede registrarse y obtener una clave API. Operai y Anthrope requieren una tarjeta de crédito para obtener una clave API. Géminis no y tiene un nivel gratuito generoso para su API.
Como primer paso, cree un directorio de proyecto y navegue por él:
mkdir hello-mastra
cd hello-mastraA continuación, inicialice un proyecto TypeScript usando NPM:
npm init -y
npm install typescript tsx @types/node @mastra/core@alpha --save-devmkdir src
touch src/index.ts Luego, agregue este código a 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, ejecute el guión:
OPENAI_API_KEY= < your-openai-api-key > npx tsx src/index.ts Si está usando Anthrope, configure el ANTHROPIC_API_KEY . Si está usando Gemini, configure GOOGLE_GENERATIVE_AI_API_KEY .
Tenemos una discordia comunitaria abierta. Ven y saluda y háganos saber si tiene alguna pregunta o necesita ayuda para que las cosas funcionen.
También es muy útil si deja al proyecto una estrella aquí en la parte superior de la página