调用此接口取消进行中的对话。
调用发起对话接口时,如果对话触发了复杂的工作流、图像流,或模型处理数据量大时,对话可能耗时较久。对话进行中时,用户无法在此会话中发起新的对话。此时可以调用此接口取消正在进行中的对话,取消后,对话转为已取消状态(status=canceled),你可以在会话中创建新的对话。
AbortController。对话过程中的状态流转:
|
请求方式 |
POST |
|---|---|
|
请求地址 |
|
|
权限 |
|
|
接口说明 |
调用此接口取消进行中的对话。 |
|
参数 |
取值 |
说明 |
|---|---|---|
|
Authorization |
Bearer $Access_Token |
用于验证客户端身份的访问令牌。你可以在扣子编程中生成访问令牌,详细信息,参考鉴权方式。 |
|
Content-Type |
application/json |
请求正文的方式。 |
|
参数 |
类型 |
是否必选 |
示例 |
说明 |
|---|---|---|---|---|
|
chat_id |
String |
必选 |
7398048669188**** |
对话 ID,即 Chat ID。可以在发起对话接口 Response 中查看 id 字段,如果是流式响应,则在 Response 的 chat 事件中查看 id 字段。 |
|
conversation_id |
String |
必选 |
7397787494399**** |
会话 ID,即 Conversation ID。可以在发起对话接口 Response 中查看 conversation_id 字段。 |
|
参数 |
类型 |
示例 |
说明 |
|---|---|---|---|
|
data |
Object of ChatV3ChatDetail |
详见响应示例 |
被取消对话的详细信息。详细说明可参考 ChatV3ChatDetail。 |
|
detail |
Object of ResponseDetail |
详见响应示例 |
详细信息。 |
|
code |
Long |
0 |
调用状态码。
|
|
msg |
String |
“” |
状态信息。API 调用失败时可通过此字段查看详细错误信息。 |
|
参数 |
类型 |
示例 |
说明 |
|---|---|---|---|
|
id |
String |
738137187639794**** |
对话 ID,即对话的唯一标识。 |
|
conversation_id |
String |
738136585609548**** |
会话 ID,即会话的唯一标识。 |
|
bot_id |
String |
737946218936519**** |
该会话所属的智能体的 ID。 |
|
status |
String |
completed |
对话的运行状态。取值为:
|
|
created_at |
Integer |
1718609571 |
对话创建的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
completed_at |
Integer |
1718609575 |
对话结束的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
failed_at |
Integer |
1718609571 |
对话失败的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
meta_data |
JSON Map |
{“customKey1”:“customValue1”,“customKey2”:“customValue2”} |
发起对话时的附加消息,用于传入使用方的自定义数据,查看对话详情时也会返回此附加消息。 |
|
last_error |
Object of LastError |
\ |
对话运行异常时,此字段中返回详细的错误信息,包括:
|
|
section_id |
String |
737946218936519**** |
上下文片段 ID。每次调用清除上下文 API 都会生成一个新的 section_id。 |
|
required_action |
Object of RequiredAction |
{“type”:“submit_tool_outputs”,“submit_tool_outputs”:{“tool_calls”:[{“id”:“738137187639794****”,“type”:“function”,“function”:{“name”:“get_weather”,“arguments”:“{"city":"Beijing"}”}}]}} |
当对话状态为 |
|
usage |
Object of Usage |
预留字段,无需关注,具体消耗的 Token 请查看火山账单。 |
|
参数 |
类型 |
示例 |
说明 |
|---|---|---|---|
|
msg |
String |
详见响应示例 |
状态信息。API 调用失败时可通过此字段查看详细错误信息。 |
|
code |
Integer |
0 |
状态码。 |
|
参数 |
类型 |
示例 |
说明 |
|---|---|---|---|
|
type |
String |
submit_tool_outputs |
额外操作的类型,枚举值: |
|
submit_tool_outputs |
Object of SubmitToolOutputs |
{“tool_calls”:[{“id”:“738137187639794****”,“type”:“function”,“function”:{“name”:“get_weather”,“arguments”:“{"city":"Beijing"}”}}]} |
当对话状态为 |
|
参数 |
类型 |
示例 |
说明 |
|---|---|---|---|
|
tool_calls |
Array of InterruptPlugin |
[{“id”:“738137187639794****”,“type”:“function”,“function”:{“name”:“get_weather”,“arguments”:“{"city":"Beijing"}”}}] |
当对话状态为 |
|
参数 |
类型 |
示例 |
说明 |
|---|---|---|---|
|
id |
String |
738137187639794**** |
上报运行结果的 ID。 |
|
type |
String |
function |
工具类型,枚举值包括:
|
|
function |
Object of InterruptFunction |
{“name”:“get_weather”,“arguments”:“{"city":"Beijing"}”} |
当对话状态为 |
|
参数 |
类型 |
示例 |
说明 |
|---|---|---|---|
|
name |
String |
get_weather |
当对话状态为 |
|
arguments |
String |
{“city”:“Beijing”} |
当对话状态为 |
|
参数 |
类型 |
示例 |
说明 |
|---|---|---|---|
|
input_count |
Integer |
50 |
输入内容所消耗的 Token 数,包含对话上下文、系统提示词、用户当前输入等所有输入类的 Token 消耗。 |
|
token_count |
Integer |
150 |
本次 API 调用消耗的 Token 总量,包括输入和输出两部分的消耗。 |
|
output_count |
Integer |
100 |
大模型输出的内容所消耗的 Token 数。 |
|
参数 |
类型 |
示例 |
说明 |
|---|---|---|---|
|
logid |
String |
20241210152726467C48D89D6DB2**** |
本次请求的日志 ID。如果遇到异常报错场景,且反复重试仍然报错,可以根据此 logid 及错误码联系扣子团队获取帮助。详细说明可参考获取帮助和技术支持。 |
curl --location --request POST 'https://api.coze.cn/v3/chat/cancel' \
--header 'Authorization: Bearer pat_hfwkehfncaf****' \
--header 'Content-Type: application/json' \
--data-raw '{
"chat_id": "73980486691***",
"conversation_id": "739778749439***"
}'
{
"data": {
"id": "738137187639794****",
"usage": {},
"bot_id": "737946218936519****",
"status": "completed",
"failed_at": null,
"meta_data": {},
"created_at": 1718609571,
"last_error": {
"msg": "",
"code": null
},
"section_id": "",
"completed_at": 1718609575,
"conversation_id": "739778749439***",
"required_action": {
"type": "",
"submit_tool_outputs": {
"tool_calls": [
{
"id": "",
"type": "",
"function": {
"name": "",
"arguments": ""
}
}
]
}
}
},
"detail": {
"logid": "20241210152726467C48D89D6DB2F37A23"
},
"msg": ""
}
如果成功调用扣子编程的 API,返回信息中 code 字段为 0。如果状态码为其他值,则表示接口调用失败。此时 msg 字段中包含详细错误信息,你可以参考错误码文档查看对应的解决方法。