withMastra()
使用 Mastra processors 及/或記憶體包裝 AI SDK 模型。
使用範例使用範例 的直接連結
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
processors 及記憶體的設定物件。
WithMastraOptions
inputProcessors?:
InputProcessor[]
在呼叫 LLM 前執行的輸入 processors。
outputProcessors?:
OutputProcessor[]
對 LLM 回應執行的輸出 processors。
memory?:
WithMastraMemoryOptions
記憶體設定,可啟用自動持久保存訊息記錄。
WithMastraMemoryOptions
storage:
MemoryStorage
用於持久保存訊息的記憶體儲存網域。可使用
await storage.getStore('memory') 從複合儲存空間取得。threadId:
string
用於持久保存對話的執行緒 ID。
resourceId?:
string
資源 ID(使用者/工作階段識別碼)。
lastMessages?:
number | false
要擷取的最近訊息數目,或設為 false 以停用。
semanticRecall?:
WithMastraSemanticRecallOptions
語意回憶設定(以 RAG 為基礎的記憶體擷取)。
workingMemory?:
MemoryConfig['workingMemory']
工作記憶體設定(持久保存的使用者資料)。
readOnly?:
boolean
唯讀模式,可防止儲存新訊息。
傳回值傳回值 的直接連結
傳回與 generateText、streamText、generateObject 及 streamObject 相容的已包裝模型。
串流行為串流行為 的直接連結
實作 processOutputResult 的輸出 processors 會在串流結束後執行。請完整接收串流,以持久保存訊息記錄及語意回憶。