Run.stream()
.stream()
メソッドを使うと、ワークフローの実行をモニタリングし、各ステップの進行状況をリアルタイムで受け取れます。
使用例
const run = await workflow.createRunAsync();
const stream = await run.stream({
inputData: {
value: "initial data",
},
});
パラメータ
inputData?:
z.infer<TInput>
ワークフローの入力スキーマに適合する入力データ
runtimeContext?:
RuntimeContext
ワークフロー実行時に使用するランタイムのコンテキストデータ
戻り値
stream:
ReadableStream<StreamEvent>
ワークフローの実行イベントをリアルタイムで発行する読み取り可能なストリーム
getWorkflowState:
() => Promise<WorkflowResult<TOutput, TSteps>>
最終的なワークフロー結果へ解決される Promise を返す関数
発展的な使用例
const { getWorkflowState } = await run.stream({
inputData: {
value: "initial data"
}
});
const result = await getWorkflowState();
ストリームイベント
ストリームはワークフローの実行中にさまざまなイベントタイプを送出します。各イベントには type
フィールドと、関連データを含む payload
が含まれます:
start
: ワークフローの実行を開始step-start
: ステップの実行を開始tool-call
: ツール呼び出しを開始tool-call-streaming-start
: ツール呼び出しのストリーミングを開始tool-call-delta
: ツール出力の増分更新step-result
: ステップが結果とともに完了step-finish
: ステップの実行が終了finish
: ワークフローの実行が完了