
Mastra ist ein machtenes TypeScript -Framework, mit dem Sie KI -Anwendungen und -funktionen schnell erstellen können. Es gibt Ihnen die Primitive, die Sie benötigen: Workflows, Agenten, Lappen, Integrationen, Synchronisierung und Evale. Sie können Mastra auf Ihrem lokalen Computer ausführen oder in einer serverlosen Cloud bereitstellen.
Die Hauptfunktionen der Mastra sind:
| Merkmale | Beschreibung |
|---|---|
| LLM -Modelle | Mastra unterstützt eine Vielzahl von LLM -Anbietern, darunter OpenAI, Anthropic, Google Gemini. Sie können das spezifische Modell und den Anbieter auswählen, System- und Benutzerangebote auswählen und entscheiden, ob die Antwort streamen. |
| Agenten | Agenten sind Systeme, in denen das Sprachmodell eine Folge von Aktionen auswählt. In Mastra stellen Agenten LLM -Modelle mit Tools, Workflows und synchronisierten Daten. Agenten können Ihre eigenen Funktionen oder APIs von Integrationen von Drittanbietern und Zugriff auf Wissensbasis anrufen. |
| Werkzeuge | Tools sind typisierte Funktionen, die von Agenten oder Workflows mit integriertem Integrationszugriff und Parametervalidierung ausgeführt werden können. Jedes Tool verfügt über ein Schema, das seine Eingaben, eine Ausführungsfunktion, die seine Logik implementiert, und Zugriff auf konfigurierte Integrationen definiert. |
| Workflows | Workflows sind langlebige staatliche Maschinen auf Diagrammbasis. Sie haben Schleifen, verzweigen sich, warten auf menschliche Eingaben, betten andere Workflows ein, führen Fehlerbehebung, Wiederholungen, Parsen und so weiter. Sie können in Code oder mit einem visuellen Redakteur eingebaut werden. Jeder Schritt in einem Workflow hat eine eingebaute Opentelemetrieverfolgung. |
| LAPPEN | Mit Abrufen-Alt-Generation (RAG) können Sie eine Wissensbasis für Agenten erstellen. RAG ist eine ETL -Pipeline mit spezifischen Abfragetechniken, einschließlich Chunking, Einbettung und Vektorsuche. |
| Integrationen & Synchronisierung | In Mastra sind Synchronisierungen asynchronisierte Funktionen, die als Hintergrundaufgaben in verschiedenen Ausführungsumgebungen bereitgestellt werden können. Die Integrationen sind automatisch generierte API-Clients für Typen für Drittanbieter, die als Tools für Agenten oder Schritte in Workflows verwendet werden können. |
| Evale | Evals sind automatisierte Tests, die LLM-Ausgänge mithilfe modellverordneter, regelbasierter und statistischer Methoden bewerten. Jede Bewertung gibt eine normalisierte Punktzahl zwischen 0: 1 zurück, die protokolliert und verglichen werden kann. Evals können mit Ihren eigenen Eingabeaufforderungen und Bewertungsfunktionen angepasst werden. |
Wenn Sie keinen API -Schlüssel für einen LLM -Anbieter haben, können Sie eine aus den folgenden Diensten erhalten:
Wenn Sie kein Konto bei diesen Anbietern haben, können Sie sich anmelden und einen API -Schlüssel erhalten. OpenAI und Anthropic erfordern eine Kreditkarte, um einen API -Schlüssel zu erhalten. Gemini tut es nicht und hat eine großzügige freie Stufe für seine API.
Erstellen Sie als erster Schritt ein Projektverzeichnis und navigieren Sie darauf:
mkdir hello-mastra
cd hello-mastraInitialisieren Sie als Nächstes ein TypeScript -Projekt mit NPM:
npm init -y
npm install typescript tsx @types/node @mastra/core@alpha --save-devmkdir src
touch src/index.ts Fügen Sie diesen Code dann zu src/index.ts hinzu:
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 ( ) ;Schließlich führen Sie das Skript aus:
OPENAI_API_KEY= < your-openai-api-key > npx tsx src/index.ts Wenn Sie Anthropic verwenden, stellen Sie den ANTHROPIC_API_KEY fest. Wenn Sie Gemini verwenden, legen Sie die GOOGLE_GENERATIVE_AI_API_KEY fest.
Wir haben eine offene Community -Zwietracht. Kommen Sie und sagen Sie Hallo und lassen Sie uns wissen, ob Sie Fragen haben oder Hilfe benötigen, um Dinge zum Laufen zu bringen.
Es ist auch super hilfreich, wenn Sie das Projekt hier oben auf der Seite ein Stern verlassen