Files
sim/apps/docs/content/docs/ja/connections/data-structure.mdx
2025-12-17 18:01:43 -08:00

192 lines
6.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: データ構造
---
import { Callout } from 'fumadocs-ui/components/callout'
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
ブロックを接続する際、異なるブロック出力のデータ構造を理解することが重要です。なぜなら、ソースブロックからの出力データ構造によって、宛先ブロックで利用可能な値が決まるからです。各ブロックタイプは、下流のブロックで参照できる特定の出力構造を生成します。
<Callout type="info">
これらのデータ構造を理解することは、接続タグを効果的に使用し、ワークフローで正しいデータにアクセスするために不可欠です。
</Callout>
## ブロック出力構造
ブロックタイプによって、異なる出力構造が生成されます。各ブロックタイプから期待できる出力は次のとおりです:
<Tabs items={['Agent Output', 'API Output', 'Function Output', 'Evaluator Output', 'Condition Output', 'Router Output']}>
<Tab>
```json
{
"content": "The generated text response",
"model": "gpt-4o",
"tokens": {
"prompt": 120,
"completion": 85,
"total": 205
},
"toolCalls": [...],
"cost": [...],
"usage": [...]
}
```
### エージェントブロックの出力フィールド
- **content**: エージェントによって生成されたメインテキスト応答
- **model**: 使用されたAIモデル「gpt-4o」、「claude-3-opus」
- **tokens**: トークン使用統計
- **prompt**: プロンプトのトークン数
- **completion**: 完了のトークン数
- **total**: 使用された合計トークン数
- **toolCalls**: エージェントによって行われたツールコールの配列(存在する場合)
- **cost**: 各ツールコールのコストオブジェクトの配列(存在する場合)
- **usage**: 応答全体のトークン使用統計
</Tab>
<Tab>
```json
{
"data": "Response data",
"status": 200,
"headers": {
"content-type": "application/json",
"cache-control": "no-cache"
}
}
```
### APIブロックの出力フィールド
- **data**: APIからのレスポンスデータ任意の型
- **status**: レスポンスのHTTPステータスコード
- **headers**: APIから返されたHTTPヘッダー
</Tab>
<Tab>
```json
{
"result": "Function return value",
"stdout": "Console output",
}
```
### 関数ブロックの出力フィールド
- **result**: 関数の戻り値(任意の型)
- **stdout**: 関数実行中にキャプチャされたコンソール出力
</Tab>
<Tab>
```json
{
"content": "Evaluation summary",
"model": "gpt-5",
"tokens": {
"prompt": 120,
"completion": 85,
"total": 205
},
"metric1": 8.5,
"metric2": 7.2,
"metric3": 9.0
}
```
### 評価ブロックの出力フィールド
- **content**: 評価の要約
- **model**: 評価に使用されたAIモデル
- **tokens**: トークン使用統計
- **[metricName]**: 評価者で定義された各メトリックのスコア(動的フィールド)
</Tab>
<Tab>
```json
{
"conditionResult": true,
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Follow-up Agent"
},
"selectedOption": "condition-1"
}
```
### 条件ブロックの出力フィールド
- **conditionResult**: 条件評価の真偽値結果
- **selectedPath**: 選択されたパスに関する情報
- **blockId**: 選択されたパスの次のブロックのID
- **blockType**: 次のブロックのタイプ
- **blockTitle**: 次のブロックのタイトル
- **selectedOption**: 選択された条件のID
</Tab>
<Tab>
```json
{
"content": "Routing decision",
"model": "gpt-4o",
"tokens": {
"prompt": 120,
"completion": 85,
"total": 205
},
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Customer Service Agent"
}
}
```
### ルーターブロックの出力フィールド
- **content**: ルーティング決定テキスト
- **model**: ルーティングに使用されたAIモデル
- **tokens**: トークン使用統計
- **selectedPath**: 選択されたパスに関する情報
- **blockId**: 選択された宛先ブロックのID
- **blockType**: 選択されたブロックのタイプ
- **blockTitle**: 選択されたブロックのタイトル
</Tab>
</Tabs>
## カスタム出力構造
一部のブロックでは、その設定に基づいてカスタム出力構造を生成することがあります:
1. **レスポンスフォーマットを持つエージェントブロック**: エージェントブロックでレスポンスフォーマットを使用する場合、出力構造は標準構造ではなく、定義されたスキーマに一致します。
2. **関数ブロック**: `result` フィールドには、関数コードから返される任意のデータ構造が含まれます。
3. **APIブロック**: `data` フィールドには、APIが返す任意の有効なJSON構造が含まれます。
<Callout type="warning">
開発中は常にブロックの実際の出力構造を確認し、接続で正しいフィールドを参照していることを確認してください。
</Callout>
## ネストされたデータ構造
多くのブロック出力にはネストされたデータ構造が含まれています。これらにはドット表記を使用して接続タグでアクセスできます:
```
<blockName.path.to.nested.data>
```
例えば:
- `<agent1.tokens.total>` - エージェントブロックから合計トークン数にアクセス
- `<api1.data.results[0].id>` - APIレスポンスの最初の結果のIDにアクセス
- `<function1.result.calculations.total>` - 関数ブロックの結果内のネストされたフィールドにアクセス