Documentation Index
Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
Use this file to discover all available pages before exploring further.
高度な入力ツールは、Webhook、Slackイベント、画像ファイル、テキストファイルなど、さまざまなタイプのデータソースを処理するための特別な入力機能を提供します。これらのツールは、外部システムと統合する包括的なワークフローを構築するために不可欠です。
主な機能
- 各種サービスからのWebhookリクエストを受信
- 公開可能URLへのHTTP POSTリクエストを処理
- JSONとフォームデータを自動解析
- API統合に不可欠
- Slack Appイベントサブスクリプションを受信
- リアルタイムSlackワークスペースイベントを処理
- メッセージ、リアクション、ユーザーインタラクションを処理
- Slack App設定が必要
- 直接ダウンロードURLから画像ファイルを入力
- 画像をbase64エンコード文字列に変換
- 各種画像フォーマットをサポート
- AI処理ワークフロー用に最適化
INPUT_FILE_AS_TEXT
- URLからテキストファイルを入力
- 複数のテキストフォーマット(CSV、JSON、XML、YAML、HTML)をサポート
- ファイルアクセス用の事前署名URLを返す
- 自動エンコーディング検出
セットアップ手順
注意: INPUT_ツールは、MCP(Model Context Protocol)とAPI統合にとって重要です。それらのIDは、MCP設定とAPIエンドポイントで正確に一致する必要があります。
例: Webhook処理ワークフロー
- id: receive_webhook
name: receive_webhook
tool: INPUT_WEBHOOK
input:
- name: description
value: "Eコマースプラットフォームからの注文通知を受信"
- name: use_as_input
value: true
- id: process_order
name: process_order
tool: OPENAI_INVOKE
config:
- name: version
value: gpt-4
input:
- name: prompt
value: |
この注文データを処理し、重要な情報を抽出してください:
{{steps.receive_webhook.result.body}}
抽出する項目: 顧客情報、注文アイテム、合計金額、配送詳細
例: Slackイベント処理
- id: slack_listener
name: slack_listener
tool: INPUT_SLACK_EVENT
input:
- name: description
value: "Slackでのメンションイベントをリッスン"
- name: use_as_input
value: true
- id: respond_to_mention
name: respond_to_mention
tool: SLACK_POST_MESSAGE
input:
- name: channel
value: "{{steps.slack_listener.result.channel}}"
- name: text
value: "メンションありがとうございます!リクエストを処理します。"
例: 画像分析パイプライン
- id: input_image
name: input_image
tool: INPUT_IMAGE_FILE
input:
- name: file_url
value: "https://example.com/image.jpg"
- name: description
value: "分析用製品画像"
- id: analyze_image
name: analyze_image
tool: GEMINI_INVOKE_WITH_IMAGE
config:
- name: version
value: gemini-1.5-flash
input:
- name: prompt
value: "この製品画像を分析し、その特徴を説明してください"
- name: base64_image
value: "{{steps.input_image.result.base64_content}}"
例: テキストファイル処理
- id: input_config_file
name: input_config_file
tool: INPUT_FILE_AS_TEXT
input:
- name: value
value: "https://example.com/config.json"
- name: description
value: "処理用設定ファイル"
- name: use_as_input
value: true
- id: parse_configuration
name: parse_configuration
tool: PYTHON_SANDBOX_RUN
input:
- name: code
value: |
import json
import requests
# 設定ファイルをダウンロードして解析
file_url = "{{steps.input_config_file.result}}"
response = requests.get(file_url)
config = json.loads(response.text)
print("設定が読み込まれました:")
for key, value in config.items():
print(f" {key}: {value}")
# 特定の設定を抽出
database_url = config.get('database_url', '見つかりません')
api_key = config.get('api_key', '見つかりません')
print(f"\nデータベースURL: {database_url}")
print(f"APIキー: {'*' * len(api_key) if api_key != '見つかりません' else '見つかりません'}")
- id: validate_config
name: validate_config
tool: CHECKER_CHECK_BY_JSON
input:
- name: text
value: "{{steps.parse_configuration.result.stdout | join(' ')}}"
- name: task_name
value: "設定検証"
- name: rules
value: |
[
{
"rule": "データベースURLの存在",
"pattern": "database_url.*://",
"required": true
},
{
"rule": "APIキーの設定",
"pattern": "api_key.*\\*+",
"required": true
}
]
例: CSVデータインポート
- id: import_csv_data
name: import_csv_data
tool: INPUT_FILE_AS_TEXT
input:
- name: value
value: "https://example.com/sales_data.csv"
- name: description
value: "月次売上データCSVファイル"
- id: process_csv
name: process_csv
tool: PYTHON_SANDBOX_RUN
input:
- name: code
value: |
import csv
import requests
from io import StringIO
# CSVファイルをダウンロード
file_url = "{{steps.import_csv_data.result}}"
response = requests.get(file_url)
csv_content = response.text
# CSVを解析
csv_reader = csv.DictReader(StringIO(csv_content))
rows = list(csv_reader)
print(f"CSVから{len(rows)}行を読み込みました")
print(f"カラム: {', '.join(csv_reader.fieldnames)}")
# 要約統計を計算
if 'amount' in csv_reader.fieldnames:
amounts = [float(row['amount']) for row in rows if row['amount']]
total = sum(amounts)
average = total / len(amounts) if amounts else 0
print(f"\n売上サマリー:")
print(f" 総売上: ¥{total:,.2f}")
print(f" 平均売上: ¥{average:,.2f}")
print(f" 売上件数: {len(amounts)}")
- id: generate_report
name: generate_report
tool: OPENAI_INVOKE
config:
- name: version
value: gpt-4
input:
- name: prompt
value: |
以下のCSV処理結果に基づいて売上レポートを生成してください:
{{steps.process_csv.result.stdout | join('\n')}}
以下を含むマークダウンレポートを作成してください:
1. エグゼクティブサマリー
2. 主要指標
3. トレンドとインサイト
4. 推奨事項
ファイル形式サポート
INPUT_FILE_AS_TEXTがサポートする形式:
- text/plain: プレーンテキストファイル (.txt)
- text/csv: カンマ区切り値 (.csv)
- text/html: HTMLドキュメント (.html)
- text/xml: XMLドキュメント (.xml)
- text/json: JSONファイル (.json)
- text/yaml: YAML設定ファイル (.yml, .yaml)
使用例
- API統合: Webhookを介して外部サービスからデータを受信
- リアルタイム処理: Slackイベントと通知を処理
- 画像処理: AIモデルで画像を分析
- 文書処理: テキストファイルと文書を処理
- イベント駆動ワークフロー: 外部イベントに基づいてワークフローをトリガー