チャットメッセージを送信
対象アプリ:Chatflow、Agent、チャットボット、レガシー Agent。
チャットアプリにメッセージを送信し、アシスタントの応答を返します。ストリーミングレスポンスのイベントはアプリタイプによって異なります。
デプロイ環境のアプリには、代わりに デプロイ環境向けの操作 を使用してください。
承認
すべてのリクエストは API キーで認証します:Authorization: Bearer {API_KEY}。アプリのエンドポイントにはアプリの API キーを、ナレッジのエンドポイントにはナレッジベースの API キーを使用します(Dify API クイックスタート)。
キーはサーバーサイドで保管し、クライアントコードには決して埋め込まないでください。キーがない、または無効な場合は HTTP 401(unauthorized)が返ります。
ボディ
チャットメッセージを送信するためのリクエストボディ。
アプリの入力変数の値を、変数名をキーとして指定します。期待される名前と型は、アプリケーションのパラメータ情報を取得 の user_input_form フィールドで確認できます。
エンドユーザーの識別子。アプリ側で定義し、アプリ内で一意にします。会話、メッセージ、ファイルは、同じ user を指定したリクエストからのみ参照できます。エンドユーザーの識別 を参照してください。
レスポンスモードです。省略時は blocking になります。
streaming(推奨):応答は Server-Sent Events として届きます。blocking:生成の完了後に返します。長時間の生成は中断されるおそれがあります。API の前段にあるリバースプロキシは、応答がタイムアウト内に届かないと接続を終了する場合があります。- レガシー Agent と Agent アプリは
streamingのみに対応します。blockingを指定すると 400 エラーになります。
streaming, blocking 継続する会話の ID です。省略するか空文字列を渡すと新しい会話を開始します。レスポンスで conversation_id が返されるので、次のメッセージで渡します。以前の会話を再開するには、その ID を 会話一覧を取得 から取得します。
メッセージに添付するファイルです。ローカルファイルの場合は、まず ファイルをアップロード でアップロードし、返された id を upload_file_id として transfer_method: local_file で参照します。Agent アプリはファイル参照を受け付けますが、その内容は処理しません。
会話タイトルを自動生成します。false の場合、会話の名前を変更 API で auto_generate: true を設定して非同期でタイトルを生成します。
レスポンス
リクエスト成功。コンテンツタイプと構造はリクエストの response_mode パラメータに依存します。
response_modeがblockingの場合、application/jsonでChatCompletionResponseオブジェクトを返します。response_modeがstreamingの場合、text/event-streamでサーバー送信イベントのストリームを返します。