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
: ワークフローの実行が完了