makeでDify APIを活用したワークフロー構築 - Request Contentエラーの解決と設定方法
Difyは、強力なAIを搭載したプラットフォームであり、そのAPIを利用することで、テキスト生成、翻訳、要約など、様々なタスクを自動化することができます。makeは、様々なWebサービスを連携させて自動化ワークフローを構築できるツールであり、Dify APIと組み合わせることで、さらに高度な自動化を実現できます。
例えば、makeでYoutubeの新規動画投稿をトリガーに、Dify APIでその内容を要約、日本語に翻訳、そして結果を別のサービスに送信する、といったワークフローを構築することができます。
他にも、毎日定時に、Difyのワークフローを実行することができます。
しかし、makeでDify APIを叩く際、「bad_request」に遭遇することがあります。これは、APIリクエストで送信するJSONデータの形式が正しくないことが原因です。
code bad_request
message The browser (or proxy) sent a request that this server could not understand.
status 400
本稿では、makeでDify APIを利用する際に遭遇する「bad_request」の解決策と、HTTPモジュールの具体的な設定方法について解説します。
Request Contentエラーの解決:AIによるJSON整形
「bad_request」の原因は、多くの場合、JSONデータの文法ミスやフォーマットエラーです。手作業で修正することも可能ですが、複雑なデータ構造の場合、時間と労力を要します。そこで、AIによるJSON整形を指示することで、効率的にエラーを解決することができます。
以下は、AIによる整形前後のJSONデータの例です。
整形前
{
inputs"{
"url":"https://www.youtube.com/watch?v= {videoid}",
"response_mode":"Blocking",
"user": "abc-123"}
}
整形後
{
"inputs": {
"url": "https://www.youtube.com/watch?v={{11.videoid}}"
},
"response_mode": "blocking",
"user": "abc-123"
}
整形前は、inputs
キーの値が誤った形式でしたが、AIツールによって修正され、正しいJSON形式となっています。
makeでのDify APIリクエスト設定
Request Contentエラーを解決したら、makeのHTTPモジュールでDify APIを叩く設定を行います。具体的な設定項目は以下の通りです。
-
Credentials: KeyにBearer app-hogehogeとしたら、通りました。
-
URL: Dify APIのエンドポイントを指定します。これはDifyのドキュメントを参照してください。私のワークフローでは、このURLは入力変数
url
として定義されています。
-
Method: APIリクエストのメソッドを指定します。Dify API /workflows/runでは、
POST
メソッドを使用します。 -
Headers: APIリクエストのヘッダー情報を指定します。Dify APIでは、APIキーによる認証が必要となるため、"Authorization"ヘッダーにAPIキーを含める必要があります。makeでは、APIキーは別途設定できるため、HTTPモジュールでHeadersを追加する必要はありません。
-
Body Type: APIリクエストのボディのデータ形式を指定します。Dify APIでは、
JSON
形式を使用します。 -
Content: APIリクエストのボディに含めるJSONデータを入力します。ここでは、先述のAIツールで整形したJSONデータを使用します。
inputsの中身はあなたのworkflowの入力変数に合わせてください
まとめ
makeとDify APIを組み合わせることで、AIを活用した高度な自動化ワークフローを構築できます。Request Contentエラーに遭遇した場合でも、AIによるJSON整形ツールを活用することで効率的に解決できます。makeのHTTPモジュールを適切に設定することで、Dify APIをスムーズに利用し、業務効率化や新たなサービス開発につなげることが可能となります。
Discussion