跳轉到內容

發起對話

向指定 Agent 提問。可以開啟一個全新會話,也可以傳入已有會話的 chat_uid 在同一會話中追加提問。

Agent 會結合行情、賬戶等能力生成回答。當 Agent 需要你補充信息或確認時,本次運行會中斷statusinterrupted),此時需通過 繼續對話 回傳答案後才能繼續。

通過請求頭 Accept 選擇響應模式:text/event-stream 為 SSE 流式,逐步推送運行過程與回答;其他值為阻塞式,一次性返回聚合後的最終結果。

Request

HTTP MethodPOST
HTTP URL/v1/ai/agents/:id/conversations

Path Parameters

NameTypeRequiredDescription
idstringYES目標 Agent 的 UID,需為已發佈 Agent
如何獲取 Agent 的 UID

除通過 Workspace 下的 Agent 接口查詢外,也可以直接從 Longbridge 網頁端獲取:打開 Agent 的對話頁,URL 形如 https://longbridge.com/zh-HK/ai/agents/chatbot/chat,其中 chatbot 即為該 Agent 的 UID。

Request Body

NameTypeRequiredDescription
querystringYES用戶問題,不能為空
chat_uidstringNO已有會話標識。傳入則在該會話中繼續提問,不傳則新建會話

Request Example

Response

Response Headers

  • Content-Type: application/json(阻塞式)
  • Content-Type: text/event-stream(流式)

Response Example

運行成功:

json
{
  "code": 0,
  "message": "success",
  "data": {
    "chat_uid": "ct_9f2c1a5b",
    "message_id": "42",
    "status": "succeeded",
    "answer": "特斯拉(TSLA.US)最近……",
    "references": [
      { "index": 1, "title": "...", "url": "..." }
    ],
    "elapsed_time": 3.21
  }
}

運行中斷(Agent 需要你補充信息,運行暫停):

json
{
  "code": 0,
  "message": "success",
  "data": {
    "chat_uid": "ct_9f2c1a5b",
    "message_id": "43",
    "status": "interrupted",
    "answer": "",
    "references": null,
    "elapsed_time": 1.05,
    "interrupt": {
      "node_id": "n_ask_human",
      "tool_call_id": "call_abc123",
      "questions": [
        {
          "question": "你想查詢哪個時間區間?",
          "options": [
            { "description": "近一週" },
            { "description": "近一個月" }
          ],
          "multi_select": false
        }
      ],
      "message_id": 43,
      "chat_id": 1001
    }
  }
}

流式模式下,服務端以 event: message 持續推送運行過程,data 中的 event 字段標識事件類型:

event: message
data: {"event":"chat_started","workflow_run_id":"wr_...","data":{"chat_uid":"ct_9f2c1a5b","message_id":42}}

event: message
data: {"event":"message","workflow_run_id":"wr_...","data":{"text":"特斯拉"}}

event: message
data: {"event":"workflow_finished","workflow_run_id":"wr_...","data":{"status":"succeeded","elapsed_time":3.21,"outputs":{"answer":"..."}}}

Response Status

StatusDescriptionSchema
200返回成功conversation_response
400參數非法或命中風控query 為空、請求體錯誤,或內容風控攔截
500內部錯誤None

Schemas

conversation_response

NameTypeRequiredDescription
chat_uidstringtrue會話標識,追加提問或排查問題時使用
message_idstringtrue本輪消息 ID(字符串形式)
statusstringtrue運行終態:succeeded / interrupted / failed / stopped
answerstringfalse最終回答文本,statussucceeded 時有效
referencesobject[]false回答引用的資料來源,無引用時為 null
elapsed_timenumberfalse運行耗時(秒)
interruptobjectfalse僅當 statusinterrupted 時出現
∟ node_idstringtrue觸發中斷的節點 ID
∟ tool_call_idstringtrue本次詢問對應的工具調用 ID,繼續對話時作為答案的 key
∟ questionsobject[]true需要你回答的問題列表
∟∟ questionstringtrue問題文本
∟∟ optionsobject[]false可選項,為空表示自由作答
∟∟∟ descriptionstringfalse選項文本
∟∟ multi_selectbooleanfalse是否允許多選
∟ message_idint64false被暫停的消息 ID
∟ chat_idint64false所屬會話 ID
errorobjectfalse僅當運行出錯時出現
∟ codeint32false錯誤碼
∟ messagestringfalse錯誤信息