Dify APIキーの取得とAPIコール方法は以下の記事を参照。
Laravel10 DifyのチャットボットをAPIでコールする
「日本で1番高い山を教えて下さい」と質問をすると
「日本で1番高い山は富士山(ふじさん)です。標高は3,776メートルで、静岡県と山梨県の境にあります。日本の象徴的な山であり、多くの観光客や登山者が訪れます。」と回答してくれる。
array:9 [▼
"event" => "message"
"task_id" => "d9d63c0e-15ef-472d-a963-xxxxxxxxx"
"id" => "df0d8c4a-ac92-47b1-af3d-xxxxxxxxx"
"message_id" => "df0d8c4a-ac92-47b1-af3d-xxxxxxxxx"
"conversation_id" => "a0272d76-bdc3-49be-852b-xxxxxxxxxxxxxx"
"mode" => "chat"
"answer" => "日本で1番高い山は富士山(ふじさん)です。標高は3,776メートルで、静岡県と山梨県の境に位置しています。富士山はその美しい形状と文化的な重要性から、世界的にも有名な山です。"
"metadata" => array:1 [▼
"usage" => array:12 [▶]
]
"created_at" => 1725578296
]
続けて「2番目も教えて下さい」と質問すると
「もちろんです。何についての「2番目」を知りたいのか具体的に教えていただければ、その情報を提供いたします。例えば、2番目の国、2番目の数字、2番目の映画のシリーズなど、具体的にお聞かせください。」
と回答され前回の会話の記憶がない。
array:9 [▼
"event" => "message"
"task_id" => "c09c7f17-7b35-4b38-b23d-xxxxxxxx"
"id" => "54782607-109a-487d-a255-xxxxxxxx"
"message_id" => "54782607-109a-487d-a255-xxxxxxxxxx"
"conversation_id" => "d45a4f55-9fd8-4057-b611-xxxxxxxxx"
"mode" => "chat"
"answer" => "もちろんです!2番目に知りたいことについて具体的に教えていただければ、それに応じた情報やアドバイスをお伝えします。何についての2番目を知りたいですか?"
"metadata" => array:1 [▶]
"created_at" => 1725578319
]
しかし、同じconversation_idをセットして
「2番目も教えて下さい」と質問をすると
「日本で2番目に高い山は北岳(きただけ)です。標高は3,193メートルで、南アルプス山脈に位置しています。北岳は登山愛好者に人気があり、美しい景観と自然環境が魅力です。」
と過去の会話を考慮して回答してくれる。
CURLOPT_POSTFIELDS =>'{
"inputs": {},
"query": "2番目も教えて下さい",
"conversation_id": "d45a4f55-9fd8-4057-b611-xxxxxxxxx",
"user": "abc-123"
}',
rray:9 [▼
"event" => "message"
"task_id" => "dd0f5d65-199a-462e-9deb-xxxxxxxxx"
"id" => "5b10783a-d12b-471c-87ef-xxxxxxxx"
"message_id" => "5b10783a-d12b-471c-87ef-xxxxxxxxxxxxxx"
"conversation_id" => "d45a4f55-9fd8-4057-b611-xxxxxxxxx"
"mode" => "chat"
"answer" => "日本で2番目に高い山は北岳(きただけ)です。標高は3,193メートルで、南アルプス山脈に位置しています。北岳は登山愛好者に人気があり、美しい景観と自然環境が魅力です。"
"metadata" => array:1 [▼
"usage" => array:12 [▼
"prompt_tokens" => 101
"prompt_unit_price" => "0.15"
"prompt_price_unit" => "0.000001"
"prompt_price" => "0.0000152"
"completion_tokens" => 66
"completion_unit_price" => "0.60"
"completion_price_unit" => "0.000001"
"completion_price" => "0.0000396"
"total_tokens" => 167
"total_price" => "0.0000548"
"currency" => "USD"
"latency" => 0.90329883099184
]
]
"created_at" => 1725584409
]
もちろんuserも同じにしなければ同じconversation_idを指定しても会話の継続はできない。
自前での過去の会話の管理より上手にやってくれるならDifyを使ったほうが良いかもしれない。