withMastra()
Encapsule un modèle AI SDK avec des Processors Mastra et/ou une mémoire.
Exemple d’utilisationLien direct vers Exemple d’utilisation
src/example.ts
import { openai } from '@ai-sdk/openai'
import { generateText } from 'ai'
import { withMastra } from '@mastra/ai-sdk'
import type { Processor } from '@mastra/core/processors'
const loggingProcessor: Processor<'logger'> = {
id: 'logger',
async processInput({ messages }) {
console.log('Input:', messages.length, 'messages')
return messages
},
}
const model = withMastra(openai('gpt-5.4'), {
inputProcessors: [loggingProcessor],
})
const { text } = await generateText({
model,
prompt: 'What is 2 + 2?',
})
ParamètresLien direct vers Paramètres
model:
LanguageModelV2 | LanguageModelV3
Tout modèle de langage AI SDK v5 ou v6, par exemple
openai('gpt-5.4'), anthropic('claude-opus-4-6').options?:
WithMastraOptions
Objet de configuration des Processors et de la mémoire.
WithMastraOptions
inputProcessors?:
InputProcessor[]
Processors d’entrée à exécuter avant l’appel au LLM.
outputProcessors?:
OutputProcessor[]
Processors de sortie à exécuter sur la réponse du LLM.
memory?:
WithMastraMemoryOptions
Configuration de la mémoire, qui active la conservation automatique de l’historique des messages.
WithMastraMemoryOptions
storage:
MemoryStorage
Domaine de stockage de la mémoire pour la conservation des messages. Récupérez-le depuis un stockage composite avec
await storage.getStore('memory').threadId:
string
ID du thread pour la conservation de la conversation.
resourceId?:
string
ID de la ressource, c’est-à-dire l’identifiant de l’utilisateur ou de la session.
lastMessages?:
number | false
Nombre de messages récents à récupérer, ou false pour désactiver cette fonctionnalité.
semanticRecall?:
WithMastraSemanticRecallOptions
Configuration du rappel sémantique, c’est-à-dire de la récupération en mémoire basée sur RAG.
workingMemory?:
MemoryConfig['workingMemory']
Configuration de la mémoire de travail, qui contient les données utilisateur persistantes.
readOnly?:
boolean
Mode lecture seule, qui empêche l’enregistrement de nouveaux messages.
Valeur renvoyéeLien direct vers Valeur renvoyée
Un modèle encapsulé compatible avec generateText, streamText, generateObject et streamObject.
Comportement du streamingLien direct vers Comportement du streaming
Les Processors de sortie qui implémentent processOutputResult s’exécutent une fois le flux terminé. Consommez le flux jusqu’à son terme afin de conserver l’historique des messages et le rappel sémantique.