メインコンテンツへスキップ
⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。
大規模言語モデルHTTPコード、およびツール ノードは標準でエラー処理をサポートしています。ノードが失敗した場合、以下の3つの動作のいずれかを取ることができます:
デフォルトの動作です。ノードが失敗すると、ワークフロー全体が停止します。元のエラーメッセージが表示されます。以下の場合に使用します:
  • テスト中で何が壊れたかを確認したい場合
  • このステップなしではワークフローが続行できない場合
ノードが失敗した場合、代わりにバックアップ値を使用します。ワークフローは実行を継続します。要件
  • デフォルト値はノードの出力タイプと一致する必要があります — 文字列を出力する場合、デフォルトも文字列である必要があります。
大規模言語モデルノードは通常分析を返しますが、レート制限により失敗することがあります。以下のようなデフォルト値を設定します:
"申し訳ございませんが、一時的にご利用いただけません。数分後に再度お試しください。"
これで、ユーザーは壊れたワークフローの代わりに役立つメッセージを受け取ります。
ノードが失敗した場合、エラーを処理するための別のフローをトリガーします。失敗分岐はオレンジ色で強調表示されます。以下のことができます:
  • エラー通知の送信
  • 異なるアプローチの試行
  • デバッグ用のエラーログ記録
  • バックアップサービスの使用
メインAPIが失敗した場合、失敗分岐が代わりにバックアップAPIを呼び出します。ユーザーは問題があったことを知ることはありません。

ループ/反復ノードでのエラー

ループや反復内で子ノードが失敗した場合、これらの制御フローノードには独自のエラー動作があります。 ループノードは、子ノードが失敗すると常に即座に停止します。ループ全体が終了してエラーを返し、それ以降の反復の実行を防ぎます。 反復ノードでは、エラー処理モードの設定により、子ノードの失敗をどのように処理するかを選択できます:
  • terminated - 任意のアイテムが失敗すると即座に処理を停止(デフォルト)
  • continue-on-error - 失敗したアイテムをスキップして次のアイテムに続行
  • remove-abnormal-output - 処理を継続します
反復をcontinue-on-errorに設定すると、失敗したアイテムは出力配列でnullを返します。remove-abnormal-outputを使用すると、出力配列には成功した結果のみが含まれ、入力配列より短くなります。

エラー変数

デフォルト値または失敗分岐を使用する場合、2つの特別な変数が得られます:
  • error_type - 発生したエラーの種類(エラータイプを参照)
  • error_message - 実際のエラーの詳細
これらを以下の目的で使用します:
  • ユーザーに役立つメッセージを表示
  • チームにアラートを送信
  • 異なる回復戦略の選択
  • デバッグ用のエラーログ記録
{% if error_type == "rate_limit" %}
リクエストが多すぎます。しばらくお待ちいただき、再度お試しください。
{% else %}
問題が発生しました。当チームに通知されています。
{% endif %}