メインコンテンツへ移動

withMastra()

AI SDK モデルを Mastra の Processor や Memory でラップします。

使用例
使用例への直接リンク

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?',
})

パラメーター
パラメーターへの直接リンク

model:

LanguageModelV2 | LanguageModelV3
任意の AI SDK v5 または v6 言語モデル(例: openai('gpt-5.4')anthropic('claude-opus-4-6'))。

options?:

WithMastraOptions
Processor と Memory の設定オブジェクト。
WithMastraOptions

inputProcessors?:

InputProcessor[]
LLM の呼び出し前に実行する入力 Processor。

outputProcessors?:

OutputProcessor[]
LLM のレスポンスに対して実行する出力 Processor。

memory?:

WithMastraMemoryOptions
Memory の設定。メッセージ履歴の自動永続化を有効にします。
WithMastraMemoryOptions

storage:

MemoryStorage
メッセージを永続化するための Memory ストレージドメイン。複合ストアから await storage.getStore('memory') を使用して取得します。

threadId:

string
会話を永続化するためのスレッド ID。

resourceId?:

string
リソース ID(ユーザーまたはセッションの識別子)。

lastMessages?:

number | false
取得する直近のメッセージ数。無効にする場合は false。

semanticRecall?:

WithMastraSemanticRecallOptions
セマンティックリコールの設定(RAG ベースの Memory 取得)。

workingMemory?:

MemoryConfig['workingMemory']
Working Memory の設定(永続化されるユーザーデータ)。

readOnly?:

boolean
読み取り専用モード。新しいメッセージの保存を防ぎます。

戻り値
戻り値への直接リンク

generateTextstreamTextgenerateObjectstreamObject と互換性のある、ラップされたモデル。

ストリーミングの動作
ストリーミングの動作への直接リンク

processOutputResult を実装する出力 Processor は、ストリームの完了後に実行されます。メッセージ履歴とセマンティックリコールを永続化するには、ストリームを最後まで消費してください。