AIのための製品データの正規化
メニューを表示するにはスワイプしてください
AIエージェントを使用する際、APIからの生のJSONレスポンスは、効果的に利用する前にクリーニングや再構築が必要になることが多いです。このステップの目的は、Rainforest HTTPノードから未処理のデータを取得し、それを単一でLLMに適したデータパケットに簡素化し、AIエージェントに渡す際に発生しがちな "[object Object]" 問題を回避することです。
HTTPノードが実際に返した内容を確認
Rainforest HTTPリクエストは、意味のある商品サマリーを作成するために必要なすべての情報をすでに提供しています:
- asin;
- title;
- brand;
- categories;
- rating および total_reviews;
- images;
- bullet points;
- rank / BSR;
- offers および buy box;
- keyword list。
AIによる分析には十分なデータが揃っているため、追加のリクエストは不要です。既に取得済みのデータを活用します。
商品オブジェクトをAIエージェントの context フィールドにドラッグすると、n8nは [object Object] と表示します。これは、contextフィールドがプレーンテキストを期待しており、ネストされたオブジェクトを受け付けないためです。LLMはJSONを読み取ることができますが、このフィールド自体は文字列のみを受け付けるため、データをフラット化し、文字列化する必要があります。
コードノードによるデータの正規化
HTTPリクエストの直後に Code ノードを追加します。 ChatGPTを利用して変換ロジックを生成することも可能です。Rainforestの出力を共有し、次のように依頼してください:
そのコードをノードに貼り付け、すべてのアイテムに対して一度だけ実行するように設定し、実行します。これで、すべての製品データがグループ化され、整理された1つのオブジェクトが表示されるはずです。
AIエージェントがまだ [object Object] を表示する場合、構造は正しいものの、まだ文字列化されていないことを意味します。その場合、Codeノードを次のように更新してください:
return [{ json: { data: JSON.stringify(items[0].json) } }];
または、Aggregateノードを使用してすべてを1つのリストにまとめてから文字列化してください。
ここでは実際にコーディングしているわけではなく、LLMによって生成されたコードをテストしています。何か失敗した場合は、正確なエラーメッセージをChatGPTにコピーして修正してもらってください。
AIエージェントへの接続
出力が正しく表示されたら、AIエージェントノード(Gemini、OpenAIなど)を追加し、Instructionフィールドにシステムプロンプトを貼り付けます。例:
ワークフローを実行します。モデルは次の内容を含む、クリーンで構造化された要約を生成するはずです。
- 製品の簡潔なスナップショット
- 機能している点(評価、A+コンテンツ、バッジ)
- 問題点(画像が少ない、キーワードの欠如)
- 修正案とキーワードのアイデア
モデルに回答前の確認質問をさせたい場合は、プロンプトに次の一文を追加してください。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください