Laravel10 DifyのワークフローをAPIコールする方法

サンプルとして、以下のようなquestionという質問を受け取り、その質問をLLMに投げて返ってきた回答を出力するというシンプルなワークフローを準備。

Dify ワークフロー

右上の「公開する」プルダウンメニューの「公開する」ボタンをクリック。

Dify 公開する

左メニューの「APIアクセス」をクリック。

Dify APIアクセス

右上の「APIキー」をクリック。

Dify APIキー

「新しいシークレットキーを作成」をクリック。

Dify 新しいシークレットキーを作成

クリップボードにコピーして「OK」ボタンをクリック。

Dify APIシークレットキー

以下のコードを実行

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api.dify.ai/v1/workflows/run',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS =>'{
        "inputs": {
            "question": "日本の総理大臣は誰ですか?"       // 質問をセット
        },
        "user": "abc-123"
    }',
    CURLOPT_HTTPHEADER => array(
        'Authorization: Bearer app-xxxxxxxxxx',          // 作成したAPIキーをセット
        'Content-Type: application/json'
    ),
));

$response = curl_exec($curl);

curl_close($curl);

// JSONデコード
$decodedResponse = json_decode($response, true);
$result = $decodedResponse['data']['outputs']['text'];

dd($result);

実行結果

私の知識が2023年10月までのものであるため、その時点での日本の総理大臣は岸田文雄(きしだ ふみお)氏です。彼は2021年10月に就任しました。それ以降の情報については、最新のニュースをご確認ください。

1件のコメント

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です