チャットメッセージを送信
対象アプリ:Chatflow、チャットボット、Agent。
チャットアプリにメッセージを送信し、アシスタントの応答を返します。ストリーミングレスポンスのイベントはアプリタイプによって異なります。
承認
すべてのリクエストは API キーで認証します:Authorization: Bearer {API_KEY}。アプリのエンドポイントにはアプリの API キーを、ナレッジのエンドポイントにはナレッジベースの API キーを使用します(Dify API クイックスタート)。
キーはサーバーサイドで保管し、クライアントコードには決して埋め込まないでください。キーが欠落または無効なリクエストは HTTP 401(unauthorized)で失敗します。
ボディ
チャットメッセージを送信するためのリクエストボディ。
ユーザーのメッセージです。
アプリの入力変数の値を、変数名をキーとして指定します。期待される名前と型は、アプリケーションのパラメータ情報を取得 の user_input_form フィールドで確認できます。
エンドユーザーの識別子。アプリ側で定義し、アプリ内で一意にします。会話、メッセージ、ファイルは、同じ user を持つリクエストにのみ表示されます。エンドユーザーの識別 を参照してください。
レスポンスの返却モードです。省略した場合はブロッキングになります。
streaming(推奨):応答は Server-Sent Events として届きます。blocking:生成の完了後に返します。長時間の生成は中断されるおそれがあります。API の前段にあるリバースプロキシは、応答がタイムアウト内に届かないと接続を終了する場合があります。- Agent アプリは
streamingのみに対応します。blockingのリクエストは 400 で失敗します。
streaming, blocking メッセージに添付するファイルです。ローカルファイルの場合は、まず ファイルをアップロード でアップロードし、返された id を upload_file_id として transfer_method: local_file で参照します。
Chatflow アプリでのみ使用できます。 実行する公開済みワークフローバージョンの ID を指定します。指定しない場合、最新の公開バージョンが使用されます。
レスポンス
リクエスト成功。コンテンツタイプと構造はリクエストの response_mode パラメータに依存します。
response_modeがblockingの場合、application/jsonでChatCompletionResponseオブジェクトを返します。response_modeがstreamingの場合、text/event-streamでサーバー送信イベントのストリームを返します。
イベントタイプ。message に固定されています。
リクエスト追跡およびレスポンス停止 API 用のタスク ID です。
このレスポンスイベントの一意 ID です。
一意のメッセージ ID です。フィードバックや推奨質問のエンドポイントを呼び出す際に message_id パラメータとして使用します。
会話 ID。
アプリモード。chat はチャットボットアプリ、agent-chat は Agent アプリ、advanced-chat は Chatflow アプリです。
完全なレスポンスコンテンツ。
使用量と検索リソースを含むメタデータ。
メッセージ作成タイムスタンプ(Unix エポック秒)。