メインコンテンツへスキップ
REPL(Read-Eval-Print Loop)ノードを使用すると、AIワークフローの一部としてカスタムコードスニペットを実行できます。これは、標準ノードではカバーされないデータ変換、計算、またはカスタムロジックに強力です。 ワークフロー内のREPLノード

概要

REPLノードは次の場合に使用します:
  • ノード間でデータを変換またはフォーマットする
  • 数学的計算を実行する
  • 文字列を解析または操作する
  • カスタムビジネスロジックを実装する
  • API応答を構造化形式に処理する

設定

REPL設定

基本設定

  • タイトル: ノードのわかりやすい名前(例:「合計の計算」、「応答のフォーマット」)。
  • 説明: 将来の参照用にコードの動作を記録します。

ランタイム環境

REPLノードは、安全なサンドボックス環境で実行されます。以下は、サポートされている関数、ライブラリ、および特定の制限事項です。

コア要件

  • 必須のメイン関数: コードには def main(): 関数を含める必要があります。
  • 保護された反復: for および while ループはサポートされていますが、無限実行を防ぐために監視されています。

組み込み関数

データ操作には標準のPython組み込み関数を使用できます:
  • コレクションヘルパー: list, dict, tuple, set, enumerate, reversed
  • 数学と論理: max, min, sum, abs, all, any
  • ユーティリティ: type

サポートされているライブラリ

以下の標準ライブラリはプリインストールされており、安全にインポートできます:
  • データとフォーマット: json, xml, base64, pandas
  • ネットワーキング: requests
  • 時間と日付: datetime, time
  • ユーティリティ: re (正規表現), hashlib, hmac, secrets, typing
  • データベース: sqlalchemy, sqlalchemy.orm, psycopg2

セキュリティ制限

プラットフォームの安定性を確保するために、以下は ブロック されています:
  • ファイルシステム: ファイルI/O操作なし(例:open())。
  • システムアクセス: 許可リスト外のOS/システム関数または任意のインポートなし。

入力コード

Pythonスクリプトを記述するコードエディタです。コードは以下にアクセスできます:
  • ワークフロー変数: {{variable_name}} 構文を使用して、前のノードからの変数にアクセスします。
  • 組み込み関数: データ処理用の標準Pythonライブラリ。

入力と出力

  • 入力変数セレクター: 前のノードからの特定の変数をマップして、コードで使用します。
  • 出力: ノードは、出力ハンドルを介してコード実行の結果を下流ノードに渡します。
: JSON応答を解析し、特定のフィールドを抽出します:
import json
data = json.loads({{api_response}})
result = data.get('items', [])[:5]  # 最初の5項目を取得
コード実行にはリソース制限とタイムアウトがあります。無限ループやメモリ集約的な操作は避けてください。