
Mastra adalah kerangka kerja TypeScript yang bertentangan yang membantu Anda membangun aplikasi dan fitur AI dengan cepat. Ini memberi Anda seperangkat primitif yang Anda butuhkan: alur kerja, agen, kain, integrasi, sinkronisasi dan eval. Anda dapat menjalankan Mastra di mesin lokal Anda, atau menggunakan cloud tanpa server.
Fitur mastra utama adalah:
| Fitur | Keterangan |
|---|---|
| Model LLM | Mastra mendukung berbagai penyedia LLM, termasuk Openai, Anthropic, Google Gemini. Anda dapat memilih model dan penyedia spesifik, memilih sistem dan petunjuk pengguna, dan memutuskan apakah akan mengalirkan respons. |
| Agen | Agen adalah sistem di mana model bahasa memilih urutan tindakan. Di Mastra, agen menyediakan alat LLM dengan alat, alur kerja, dan data yang disinkronkan. Agen dapat memanggil fungsi Anda sendiri atau API integrasi pihak ketiga dan mengakses basis pengetahuan yang Anda bangun. |
| Peralatan | Alat adalah fungsi yang diketik yang dapat dijalankan oleh agen atau alur kerja, dengan akses integrasi bawaan dan validasi parameter. Setiap alat memiliki skema yang mendefinisikan inputnya, fungsi pelaksana yang mengimplementasikan logikanya, dan akses ke integrasi yang dikonfigurasi. |
| Alur kerja | Alur kerja adalah mesin negara berbasis grafik yang tahan lama. Mereka memiliki loop, bercabang, menunggu input manusia, menanamkan alur kerja lainnya, melakukan penanganan kesalahan, mencoba lagi, mengurai dan sebagainya. Mereka dapat dibangun dalam kode atau dengan editor visual. Setiap langkah dalam alur kerja memiliki penelusuran OpenTelemetry bawaan. |
| LAP | Retrieval-Augemented Generation (RAG) memungkinkan Anda membangun basis pengetahuan untuk agen. Rag adalah pipa ETL dengan teknik kueri spesifik, termasuk pemotongan, penyematan, dan pencarian vektor. |
| Integrasi & sinkronisasi | Di Mastra, sinkronisasi adalah fungsi asinkron yang dapat digunakan sebagai tugas latar belakang di lingkungan eksekusi yang berbeda. Integrasi adalah klien API yang dihasilkan secara otomatis dan aman untuk layanan pihak ketiga yang dapat digunakan sebagai alat untuk agen atau langkah-langkah dalam alur kerja. |
| Eval | Eval adalah tes otomatis yang mengevaluasi output LLM menggunakan metode model-bertingkat, berbasis aturan, dan statistik. Setiap eval mengembalikan skor yang dinormalisasi antara 0-1 yang dapat dicatat dan dibandingkan. Eval dapat disesuaikan dengan permintaan Anda sendiri dan fungsi penilaian. |
Jika Anda tidak memiliki kunci API untuk penyedia LLM, Anda bisa mendapatkannya dari layanan berikut:
Jika Anda tidak memiliki akun dengan penyedia ini, Anda dapat mendaftar dan mendapatkan kunci API. Openai dan Anthropic membutuhkan kartu kredit untuk mendapatkan kunci API. Gemini tidak dan memiliki tingkat gratis yang murah hati untuk API -nya.
Sebagai langkah pertama, buat direktori proyek dan navigasikan ke dalamnya:
mkdir hello-mastra
cd hello-mastraSelanjutnya, inisialisasi proyek TypeScript menggunakan NPM:
npm init -y
npm install typescript tsx @types/node @mastra/core@alpha --save-devmkdir src
touch src/index.ts Kemudian, tambahkan kode ini ke 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 ( ) ;Akhirnya, jalankan skrip:
OPENAI_API_KEY= < your-openai-api-key > npx tsx src/index.ts Jika Anda menggunakan antropik, atur ANTHROPIC_API_KEY . Jika Anda menggunakan Gemini, atur GOOGLE_GENERATIVE_AI_API_KEY .
Kami memiliki perselisihan komunitas terbuka. Datang dan ucapkan halo dan beri tahu kami jika Anda memiliki pertanyaan atau perlu bantuan menjalankan sesuatu.
Ini juga sangat membantu jika Anda meninggalkan proyek bintang di sini di bagian atas halaman