Run.streamVNext()(実験的)
Experimental Feature
This is a new streaming implementation with support for multiple output formats (including AI SDK v5). It will replace `stream()` once battle-tested, and the API may change as we incorporate feedback.
.streamVNext()
メソッドは、ワークフローからの応答をリアルタイムにストリーミングします。この強化されたストリーミング機能は、将来的に現在の stream()
メソッドに置き換わる予定です。
使い方の例
const run = await workflow.createRunAsync();
const stream = run.streamVNext({
inputData: {
value: "initial data",
},
});
パラメータ
inputData?:
z.infer<TInput>
ワークフローの入力スキーマに適合する入力データ
runtimeContext?:
RuntimeContext
ワークフロー実行時に使用するランタイムコンテキストのデータ
返り値
stream:
MastraWorkflowStream<ChunkType>
ReadableStream<ChunkType> を拡張し、ワークフロー固有のプロパティを追加したカスタムストリーム
stream.status:
Promise<RunStatus>
現在のワークフロー実行ステータスに解決される Promise
stream.result:
Promise<WorkflowResult<TOutput, TSteps>>
最終的なワークフロー結果に解決される Promise
stream.usage:
Promise<{ promptTokens: number; completionTokens: number; totalTokens: 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
: 使用状況統計を含むワークフローの実行が完了