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

ステップ1:新しいワークフローの作成
- スタジオに移動し、空白から作成 > ワークフローを選択します。
- ワークフローに
マルチプラットフォームコンテンツジェネレーターという名前を付けて、作成をクリックします。自動的にワークフローキャンバスに移動し、構築を開始します。
ステップ2:ワークフローノードの追加と設定
言及されていない設定はデフォルト値のままにしてください。
1. ユーザー入力ノード:エンドユーザーの入力を収集
まず、ドラフトテキスト、ターゲットプラットフォーム、希望のトーン、参考資料など、ユーザーから収集する情報を定義する必要があります。ユーザー入力ノードは、これらを簡単に設定できる場所です。ここに追加する各入力フィールドは、すべての下流ノードが参照して使用できる変数になります。

参考資料 - テキスト
参考資料 - テキスト
- フィールドタイプ:
段落 - 変数名:
draft - ラベル名:
ドラフト - 最大長:
2048 - 必須:
いいえ
参考資料 - ファイル
参考資料 - ファイル
- フィールドタイプ:
ファイルリスト - 変数名:
user_file - ラベル名:
ファイルをアップロード (≤ 10) - サポートファイルタイプ:
ドキュメント、画像 - アップロードファイルタイプ:
両方 - 最大アップロード数:
10 - 必須:
いいえ
ボイスとトーン
ボイスとトーン
- フィールドタイプ:
段落 - 変数名:
voice_and_tone - ラベル名:
ボイス&トーン - 最大長:
2048 - 必須:
いいえ
ターゲットプラットフォーム
ターゲットプラットフォーム
- フィールドタイプ:
短いテキスト - 変数名:
platform - ラベル名:
ターゲットプラットフォーム (≤ 10) - 最大長:
256 - 必須:
はい
言語要件
言語要件
- フィールドタイプ:
選択 - 変数名:
language - ラベル名:
言語 - オプション:
English日本語简体中文
- デフォルト値:
English - 必須:
はい
2. パラメータ抽出器ノード:ターゲットプラットフォームの識別
プラットフォームフィールドは自由形式のテキスト入力を受け入れるため、ユーザーは様々な方法で入力する可能性があります:
x and linkedIn、post on Twitter and LinkedIn、さらにはTwitter + LinkedIn pleaseなど。しかし、下流ノードが確実に動作できる["Twitter", "LinkedIn"]のようなクリーンで構造化されたリストが必要です。これはパラメータ抽出器ノードの完璧な仕事です。LLMを使用してユーザーの自然言語を分析し、これらすべてのバリエーションを認識し、標準化された配列を出力します。
- モデルを選択します。
-
User Input/platformを入力変数として設定します。 -
抽出パラメータを追加します:
- 名前:
platform - タイプ:
Array[String] - 説明:
ユーザーがカスタマイズされたコンテンツを作成したいプラットフォームを識別して抽出します。 - 必須:
はい
- 名前:
-
指示フィールドに、LLMのパラメータ抽出をガイドする以下を貼り付けます:
指示無効な入力に対して特定のエラーメッセージを出力するようLLMに指示したことに注意してください。これは次のステップでワークフローの終了トリガーとして機能します。
3. IF/ELSEノード:プラットフォーム抽出結果の検証
ユーザーが
ohhhhhhやBookFaceのような無効なプラットフォーム名を入力した場合はどうなるでしょうか?無駄なコンテンツを生成するために時間とトークンを無駄にしたくありません。そのような場合、IF/ELSEノードを使用してワークフローを早期に停止する分岐を作成できます。パラメータ抽出器ノードからのエラーメッセージをチェックする条件を設定し、そのメッセージが検出された場合、ワークフローは直接出力ノードにルーティングされます。
- パラメータ抽出器ノードの後に、IF/ELSEノードを追加します。
-
IF/ELSEノードのパネルで、IF条件を定義します:
IF
Parameter Extractor/platform含むプラットフォームが識別されませんでした。有効なプラットフォーム名を入力してください。 - IF/ELSEノードの後、IFブランチに出力ノードを追加します。
-
出力ノードのパネルで、
Parameter Extractor/platformを出力変数として設定します。
4. リスト演算子ノード:アップロードされたファイルをタイプ別に分離
ユーザーは参考資料として画像とドキュメントの両方をアップロードできますが、この2つのタイプは異なる処理が必要です:画像はビジョン対応モデルで直接解釈できますが、ドキュメントはまずLLMがコンテンツを理解できるようにテキストに変換する必要があります。これを管理するために、2つのリスト演算子ノードを使用して、アップロードされたファイルをフィルタリングし、別々のブランチに分割します—1つは画像用、1つはドキュメント用です。

- IF/ELSEノードの後、ELSEブランチに2つのリスト演算子ノードを追加します。
- 1つのノードを
画像、もう1つをドキュメントに名前を変更します。 - 画像ノードを設定します:
User Input/user_fileを入力変数として設定します。- フィルタ条件を有効にします:
{x}typeにImage
- ドキュメントノードを設定します:
User Input/user_fileを入力変数として設定します。- フィルタ条件を有効にします:
{x}typeにDoc。
5. ドキュメント抽出器ノード:ドキュメントからテキストを抽出
LLMはPDFやDOCXなどのアップロードされたファイルを直接読むことはできません。これらのドキュメントの情報を使用するには、まずLLMが処理できるプレーンテキストに変換する必要があります。これがまさにドキュメント抽出器ノードが行うことです。ドキュメントファイルを入力として受け取り、次のステップのためにクリーンで使用可能なテキストを出力します。
- ドキュメントノードの後に、ドキュメント抽出器ノードを追加します。
- ドキュメント抽出器ノードのパネルで、
Document/resultを入力変数として設定します。
6. LLMノード:すべての参考資料を統合
ユーザーが複数の参考タイプ—ドラフトテキスト、ドキュメント、画像—を同時に提供する場合、それらを一つのまとまった要約に統合する必要があります。LLMノードは、すべての散在する部分を分析してこのタスクを処理し、後続のコンテンツ生成をガイドする包括的なコンテキストを作成します。

- ドキュメント抽出器ノードの後に、LLMノードを追加します。
- 画像ノードもこのLLMノードに接続します。
- LLMノードをクリックして設定します:
-
情報統合に名前を変更します。 - ビジョンをサポートするモデル(目のアイコンで示される)を選択します。
-
ビジョンを有効にし、
Image/resultをビジョン変数として設定します。 -
システムプロンプトフィールドに、以下を貼り付けます:
システム
-
7. イテレーションノード:各プラットフォーム向けにカスタマイズされたコンテンツを作成
統合された参照とターゲットプラットフォームの準備ができたので、イテレーションノードを使用して各プラットフォーム向けにカスタマイズされた投稿を生成しましょう。このノードはプラットフォームのリストをループし、各プラットフォーム用のサブワークフローを実行します:まず特定のプラットフォームのスタイルガイドラインとベストプラクティスを分析し、次に利用可能なすべての情報に基づいて最適化されたコンテンツを生成します。

- 情報統合ノードの後に、イテレーションノードを追加します。
- イテレーションノード内に、LLMノードを追加して設定します:
-
スタイル識別に名前を変更します。 - モデルを選択します。
-
システムプロンプトフィールドに、以下を貼り付けます:
システム
-
- スタイル識別ノードの後に、別のLLMノードを追加して設定します:
-
コンテンツ作成に名前を変更します。 - モデルを選択します。
-
システムプロンプトフィールドに、以下を貼り付けます:
システム
-
構造化出力を有効にします。

- 出力変数の横で、構造化をオンに切り替えます。structured_output変数が下に表示されます。
- structured_outputの横で、設定をクリックします。
-
ポップアップスキーマエディタで、右上隅のJSONからインポートをクリックし、以下を貼り付けます:
-
- イテレーションノードをクリックして設定します:
-
Parameter Extractor/platformを入力変数として設定します。 -
Create Content/structured_outputを出力変数として設定します。 -
並列モードを有効にし、最大並列性を
10に設定します。これが、ユーザー入力ノードのターゲットプラットフォームフィールドのラベル名に(≤10)を含めた理由です。
-
8. テンプレートノード:最終出力をフォーマット
イテレーションノードは各プラットフォーム用の投稿を生成しますが、その出力は生のデータ配列(例:
[{"platform_name": "Twitter", "post_content": "..."}])であり、あまり読みやすくありません。結果をより明確な形式で提示する必要があります。ここでテンプレートノードが登場します—Jinja2テンプレートを使用してこの生データを整理されたテキストにフォーマットでき、最終出力がユーザーフレンドリーで理解しやすいことを保証します。
- イテレーションノードの後に、テンプレートノードを追加します。
-
テンプレートノードのパネルで、
Iteration/outputを入力変数として設定します。 -
以下のJinja2コードを貼り付けます(コメントを削除することを忘れずに)。
9. 出力ノード:結果をユーザーに返す
- テンプレートノードの後に、出力ノードを追加します。
- 出力ノードのパネルで、
Template/outputを出力変数として設定します。
ステップ3:テスト
ワークフローが完成しました!テストしてみましょう。-
チェックリストがクリアされていることを確認します。

- 最初に提供された参照図と照らし合わせてワークフローを確認し、すべてのノードと接続が一致していることを確認します。
- 右上隅の実行をクリックし、入力フィールドを入力して、実行開始をクリックします。 キャッシュされた入力で単一のノードを実行するには、その設定パネルの上部にあるこのステップを実行アイコンをクリックします。 エラーが発生した場合は、対応するノードの最後の実行ログをチェックして、問題の正確な原因を特定します。
