Skip to content

エラーの処理

Note: ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。

大規模言語モデルHTTPコード、およびツール ノードは標準でエラー処理をサポートしています。ノードが失敗した場合、以下の3つの動作のいずれかを取ることができます:

なし デフォルトの動作です。ノードが失敗すると、ワークフロー全体が停止します。元のエラーメッセージが表示されます。 以下の場合に使用します: - テスト中で何が壊れたかを確認したい場合 - このステップなしではワークフローが続行できない場合
デフォルト値 ノードが失敗した場合、代わりにバックアップ値を使用します。ワークフローは実行を継続します。 ![](https://assets-docs.flexai.com.tr/2024/12/e9e5e757090679243e0c9976093c7e6c.png) **要件** - デフォルト値はノードの出力タイプと一致する必要があります -- 文字列を出力する場合、デフォルトも文字列である必要があります。 **例** 大規模言語モデルノードは通常分析を返しますが、レート制限により失敗することがあります。以下のようなデフォルト値を設定します:
"申し訳ございませんが、一時的にご利用いただけません。数分後に再度お試しください。"
これで、ユーザーは壊れたワークフローの代わりに役立つメッセージを受け取ります。
失敗分岐 ノードが失敗した場合、エラーを処理するための別のフローをトリガーします。 ![](https://assets-docs.flexai.com.tr/2024/12/e5ea1af947818bd9e27cab3042c1c4f3.png) 失敗分岐はオレンジ色で強調表示されます。以下のことができます: - エラー通知の送信 - 異なるアプローチの試行 - デバッグ用のエラーログ記録 - バックアップサービスの使用 **例** メイン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 %}