概要

アウトプットツールを使用すると、ワークフローでファイルを作成し、テキスト出力を管理できます。これらのツールは、レポートの生成、処理されたデータの保存、ユーザー向けのダウンロード可能なコンテンツの作成に不可欠です。

主な機能

OUTPUT_FILE

  • テキストコンテンツからファイルを作成
  • 複数のファイル形式をサポート(CSV、JSON、TXT、XML、YAML)
  • 署名付きURLでワークスペースにアップロード
  • 自動ファイルタイプ検出

OUTPUT_TEXT

  • プレーンテキストコンテンツを出力
  • シンプルなテキスト表示機能
  • デバッグとステータスメッセージに便利
  • すべてのワークフローステップと互換性

認証

アウトプットツールに認証は必要ありません。

例: CSVレポート生成

- id: process_data
  name: process_data
  tool: PYTHON_SANDBOX_RUN
  input:
    - name: code
      value: |
        import json
        # データをここで処理
        data = [
            ["名前", "年齢", "都市"],
            ["田中", "30", "東京"],
            ["佐藤", "25", "大阪"]
        ]
        result = "\n".join([",".join(row) for row in data])
        print(result)

- id: save_report
  name: save_report
  tool: OUTPUT_FILE
  input:
    - name: content
      value: "{{steps.process_data.result.stdout}}"
    - name: filename
      value: "user_report.csv"
    - name: fileType
      value: "csv"

例: JSONデータエクスポート

- id: collect_data
  name: collect_data
  tool: OPENAI_INVOKE
  config:
    - name: version
      value: gpt-4
  input:
    - name: prompt
      value: |
        以下のデータでJSON構造を作成してください:
        {{steps.previous_step.result.content}}
        
        適切な構造で有効なJSONとしてフォーマットしてください。

- id: export_json
  name: export_json
  tool: OUTPUT_FILE
  input:
    - name: content
      value: "{{steps.collect_data.result.content}}"
    - name: filename
      value: "processed_data.json"
    - name: fileType
      value: "json"

- id: confirm_export
  name: confirm_export
  tool: OUTPUT_TEXT
  input:
    - name: text
      value: "データの正常エクスポート先: {{steps.export_json.result.signed_url}}"

例: マルチフォーマットレポート生成

- id: generate_report_data
  name: generate_report_data
  tool: PYTHON_SANDBOX_RUN
  input:
    - name: code
      value: |
        import json
        import yaml
        
        # サンプルレポートデータ
        report_data = {
            "title": "月次売上レポート",
            "period": "2024年1月",
            "metrics": {
                "total_sales": 45000,
                "new_customers": 120,
                "conversion_rate": 0.15
            },
            "top_products": [
                {"name": "商品A", "sales": 15000},
                {"name": "商品B", "sales": 12000}
            ]
        }
        
        # 異なる形式を生成
        json_output = json.dumps(report_data, indent=2, ensure_ascii=False)
        yaml_output = yaml.dump(report_data, default_flow_style=False, allow_unicode=True)
        
        print("JSON_DATA:", json_output)
        print("YAML_DATA:", yaml_output)

- id: save_json_report
  name: save_json_report
  tool: OUTPUT_FILE
  input:
    - name: content
      value: "{{steps.generate_report_data.result.stdout | split('JSON_DATA: ')[1] | split('YAML_DATA:')[0] | trim}}"
    - name: filename
      value: "sales_report.json"
    - name: fileType
      value: "json"

- id: save_yaml_report
  name: save_yaml_report
  tool: OUTPUT_FILE
  input:
    - name: content
      value: "{{steps.generate_report_data.result.stdout | split('YAML_DATA: ')[1] | trim}}"
    - name: filename
      value: "sales_report.yaml"
    - name: fileType
      value: "yaml"

ファイルタイプサポート

拡張子説明使用例
csvカンマ区切り値データエクスポート、スプレッドシートインポート
jsonJavaScript Object NotationAPIレスポンス、設定
txtプレーンテキストログ、レポート、ドキュメント
xmlExtensible Markup Languageデータ交換、設定
yaml/ymlYAML Ain’t Markup Language設定、ドキュメント

使用例

  • レポート生成: 様々な形式でダウンロード可能なレポートを作成
  • データエクスポート: 外部使用のために処理されたデータを保存
  • 設定ファイル: 他のシステム用の設定ファイルを生成
  • ドキュメント: 構造化されたドキュメントファイルを作成
  • バックアップとアーカイブ: 将来の参照のためにワークフロー結果を保存
  • ユーザーダウンロード: ユーザーダウンロード用のファイルを提供
  • システム統合: 外部システムインポート用のファイルを生成