Run.streamVNext()(試験的)
Experimental API:
This is a new streaming implementation that supports multiple output formats (including AI SDK v5). It will replace .stream()
and may change as we refine the feature based on feedback.
.streamVNext()
メソッドは、ワークフローからのレスポンスをリアルタイムにストリーミングできるようにします。この強化されたストリーミング機能は、将来的に現行の stream()
メソッドを置き換える予定です。
使用例
const run = await workflow.createRunAsync();
const stream = run.streamVNext({
inputData: {
value: "initial data",
},
});
パラメータ
inputData?:
z.infer<TInput>
ワークフローの入力スキーマに適合する入力データ
runtimeContext?:
RuntimeContext
ワークフロー実行時に使用するランタイムコンテキストデータ
closeOnSuspend?:
boolean
ワークフローが一時停止された際にストリームを閉じるか、ワークフローが完了(成功またはエラー)するまで開いたままにするか。既定値は true。
返り値
stream:
MastraWorkflowStream<ChunkType>
ReadableStream<ChunkType> を拡張し、ワークフロー固有のプロパティを追加したカスタムストリーム
stream.status:
Promise<RunStatus>
現在のワークフロー実行ステータスを返す Promise
stream.result:
Promise<WorkflowResult<TOutput, TSteps>>
最終的なワークフロー結果を返す Promise
stream.usage:
Promise<{ inputTokens: number; outputTokens: number; totalTokens: number, reasoningTokens?: number, cacheInputTokens?: number }>
トークン使用状況の統計情報を返す Promise
詳細な使用例
const run = await workflow.createRunAsync();
const stream = run.streamVNext({
inputData: {
value: "initial data",
},
});
const result = await stream.result;
ストリームイベント
ストリームはワークフローの実行中にさまざまなイベントを発行します。各イベントには type
フィールドと、関連データを含む payload
が含まれます:
workflow-start
: ワークフローの実行が開始されるworkflow-step-start
: ステップの実行が開始されるworkflow-step-output
: ステップからのカスタム出力workflow-step-result
: ステップが結果とともに完了するworkflow-finish
: ワークフローの実行が使用状況の統計情報とともに完了する