发送自定义指令

更新时间不可用

向指定智能体发送一段自定义文本指令。

POST
https://api.agora.io/cn/api/conversational-ai-agent/v2/projects/{appid}/agents/{agentId}/think

该接口会将传入文本作为用户输入注入当前对话链路,并由对话式 AI 引擎继续按照普通用户输入的处理逻辑进行推理和响应。你可以使用该接口实现隐式指令注入、客户端事件触发和语音与文本协同等场景。

鉴权

Basic Auth

使用 HTTP 基本认证时,将由客户 ID 和客户密钥生成的凭证填入 HTTP 请求的 Authorization Header。具体生成方法请参考实现 HTTP 鉴权。

Agora Token

推荐使用 Token 认证。请参考实现 HTTP 鉴权生成 Token,并填入 HTTP 请求的 Authorization Header。传参示例:Authorization: agora token="007abcxxxxxxx123"。

路径参数

appidstring
必填

你的项目使用的 App ID。

agentIdstring
必填

智能体实例 ID,即智能体的唯一标识。调用 POST 创建对话式智能体 成功后在响应包体中获取。

请求 Header

Authorizationstring
必填

发送 HTTP 请求时,你可以从以下鉴权方式中任选其一:

  1. 使用 Token 认证(推荐):参考实现 HTTP 鉴权生成 Token 并填入 Authorization Header。传参示例:Authorization: agora token="007abcxxxxxxx123"。
  2. 使用 Basic Auth:参考实现 HTTP 鉴权生成 Base64 编码的 Authorization 字段。传参示例:Authorization: Basic NDI1OTQ3N2I4MzYy...YwZjA=。

请求 Body

textstring
必填

自定义指令文本内容。系统会将其作为用户输入注入当前对话链路。

on_listening_actionstring

智能体处于倾听状态时的处理动作,支持以下值:

  • "inject":自定义文本指令注入当前轮次,不打断当前轮次。
  • "interrupt":(默认)立即打断当前处理流程,并发起新一轮对话。
  • "append":不打断当前用户输入。等待当前用户输入对应的 LLM 输出完成后,将自定义文本指令作为独立的 user 消息追加到上下文,并发起新一轮对话。
  • "ignore":忽略本次请求。
on_thinking_actionstring

智能体处于思考状态时的处理动作,支持以下值:

  • "interrupt":(默认)打断当前状态,并发起新一轮对话。
  • "append":不打断当前 LLM 推理。等待当前轮次的 LLM 输出完成后,将自定义文本指令作为独立的 user 消息追加到上下文,并发起新一轮对话。
  • "ignore":忽略本次请求。
on_speaking_actionstring

智能体处于说话状态时的处理动作,支持以下值:

  • "interrupt":打断当前状态,并发起新一轮对话。
  • "append":不打断当前 TTS 播报。等待当前轮次的 LLM 输出完成后,将自定义文本指令作为独立的 user 消息追加到上下文,并发起新一轮对话。
  • "ignore":(默认)忽略本次请求。
interruptableboolean

是否允许用户说话打断自定义指令:

  • true:(默认)允许。
  • false:不允许。
metadataobject

自定义元数据。你可以通过该字段传入业务标识等附加信息。

响应

  • 若返回的状态码为 200 则表示请求成功。响应包体为智能体信息。
  • 若返回的状态码不为 200 则表示请求失败。响应包体中包含错误的类别和描述,你可以参考响应状态码了解可能的原因。

响应 Body

agent_idstring

对话式智能体 ID,即智能体唯一标识。

channelstring

智能体所在 RTC 频道名。

start_tsinteger

智能体创建时间戳。

请求示例

Example Request
curl --request POST \
  --url "https://api.agora.io/cn/api/conversational-ai-agent/v2/projects/:appid/agents/:agentId/think" \
  --header 'Authorization: agora token="007abcxxxxxxx123"' \
  -H 'Content-Type: application/json' \
  -d '{
  "text": "用户刚才点击了购买按钮",
  "on_listening_action": "append",
  "on_thinking_action": "append",
  "on_speaking_action": "append",
  "interruptable": true,
  "metadata": {
    "publisher": "user123",
    "model": "deepseek-r1"
  }
}'

响应示例

{
  "agent_id": "1NT29XxxxxxxxxELWEHC8OS",
  "channel": "test_channel",
  "start_ts": 1744877089
}