
Mastra - это самоуверенная структура TypeScript, которая помогает вам быстро создавать приложения и функции искусственного интеллекта. Это дает вам набор примитивов, которые вам нужны: рабочие процессы, агенты, тряпку, интеграции, синхронизации и эвал. Вы можете запустить Mastra на своей локальной машине или развернуть в облаке без сервера.
Основные особенности Мастры:
| Функции | Описание |
|---|---|
| LLM модели | Мастра поддерживает различных поставщиков LLM, в том числе OpenAI, Anpropic, Google Gemini. Вы можете выбрать конкретную модель и поставщик, выбрать системные и пользовательские подсказки и решить, следует ли транслировать ответ. |
| Агенты | Агенты - это системы, в которых языковая модель выбирает последовательность действий. В Mastra агенты предоставляют модели LLM с инструментами, рабочими процессами и синхронизированными данными. Агенты могут вызывать ваши собственные функции или API сторонних интеграций и получить доступ к базам знаний, которые вы создаете. |
| Инструменты | Инструменты представляют собой напечатанные функции, которые могут быть выполнены агентами или рабочими процессами, со встроенным доступом к интеграции и проверке параметров. Каждый инструмент имеет схему, которая определяет ее входы, функцию исполнителя, которая реализует его логику, и доступ к настроенным интеграциям. |
| Рабочие процессы | Рабочие процессы-это прочные машины на основе графика. У них есть петли, ветвясь, ждать ввода человека, внедряют другие рабочие процессы, выполняют обработку ошибок, перезагружают, анализируют и так далее. Они могут быть встроены в код или с визуальным редактором. Каждый шаг в рабочем процессе имеет встроенное отслеживание Opentelemetry. |
| Тряпичный | Поиск поколения (RAG) позволяет вам построить базу знаний для агентов. RAG - это трубопровод ETL с конкретными методами запроса, включая блюд, внедрение и поиск вектора. |
| Интеграции и синхронизации | В Mastra синхронизации - это асинхронные функции, которые могут быть развернуты в качестве фоновых задач в разных средах выполнения. Интеграции представляют собой автоматические сгенерированные клиенты API, защищенные типами для сторонних услуг, которые можно использовать в качестве инструментов для агентов или шагов в рабочих процессах. |
| Эвал | Evals-это автоматизированные тесты, которые оценивают выходы LLM с использованием средств модели, на основе правил и статистических методов. Каждая оценка возвращает нормализованный балл между 0-1, который может быть зарегистрирован и сравнивать. Evals можно настроить с помощью ваших собственных подсказок и функций оценки. |
Если у вас нет ключа API для поставщика LLM, вы можете получить один из следующих услуг:
Если у вас нет учетной записи с этими поставщиками, вы можете зарегистрироваться и получить ключ API. Openai и Anpropic требуют кредитной карты, чтобы получить ключ API. Близнецы нет и имеют щедрый свободный уровень для своего API.
В качестве первого шага, создайте каталог проекта и перейдите в него:
mkdir hello-mastra
cd hello-mastraДалее, инициализируйте проект TypeScript с использованием 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 Если вы используете Anpropic, установите ANTHROPIC_API_KEY . Если вы используете Gemini, установите GOOGLE_GENERATIVE_AI_API_KEY .
У нас есть открытый сообщество. Приходите и поздоровайте и дайте нам знать, если у вас есть какие -либо вопросы или вам нужна помощь в получении вещей.
Это также очень полезно, если вы оставите проект звездой здесь, в верхней части страницы