阅读提示
请先阅读:大模型会话接口集成概述
1 会话接口请求
1.1 请求链接
https://alime-ws.aliyuncs.com/sse/paas4Json/{AccessToken}/{ChannelId}/{Sign}/{Timestamp}
1.2 请求链接参数解释
名称 | 描述 |
AccessToken | 认证Token。调用ApplyForStreamAccessToken - 获取流式调用的连接信息接口获取。 |
ChannelId | 流式通道。调用ApplyForStreamAccessToken - 获取流式调用的连接信息接口获取。 |
Sign | 签名,通过加签协议生成。参考会话接口签名 |
Timestamp | 时间戳,是获取sign的加签元素之一,可直接取系统时间毫秒值作为时间戳 |
1.3 请求体参数(JSON)
名称 | 类型 | 是否必填 | 描述 |
messageId | String | 是 | 请求调用的唯一标志,系统内部用于幂等判断,建议使用UUID |
action | String | 是 | 固定值:TongyiBeebotChat |
version | String | 是 | 固定值:2022-04-08 |
data | List | 是 | 详见会话请求参数 |
1.3.1 会话请求参数
名称 | 类型 | 是否必填 | 描述 |
InstanceId | String | 是 | 机器人ID,例如:chatbot-cn-dDmF3jcdVf |
Utterance | String | 是 | 机器人访问者的输入。长度限制128个字符 |
SessionId | String | 否 | 会话ID,用于标识一个访问者的会话和保持上下文信息 |
SenderId | String | 否 | 访问者ID。用于识别当前会话中的用户 |
SenderNick | String | 否 | 当前会话中访问的昵称 |
VendorParam | JSON String | 否 | 是一个JSON格式的用户自定义参数集,可以传入用户自定义的参数到各对话引擎,例如:
|
Perspective | Array of String | 否 | 视角编码,用于调用同一知识标题下不同视角的答案。在拼装请求参数时,需要以Perspective={视角编码}的格式传递参数。如:&Perspective=["FZJBY3raWr"]。 |
SandBox | Boolean | 否 | 测试、正式环境标识,默认为正式环境。
|
Command | String | 否 | 请求的指令信息。 当前支持传入TIMEOUT:触发对话工厂超时话术 GUIDEPOST:触发对话工厂异步服务,详见异步服务使用手册 |
2 响应参数说明
如果返回HTML代码,则说明URL上的参数不正确。
字段名 | 类型 | 描述 |
success | Boolean | 是否成功 |
code | String | 错误码(success为false时) |
message | String | 错误提示(success为false时) |
messageId | String | 2.3中请求的messageId |
requestId | String | 每段响应推送的requestId |
data | Array | 接口返回结果 data格式:
value为会话接口的响应结果,详见:会话响应结果 |
会话响应结果
3 示例
3.1 请求示例
会话接口链接示例:
此链接仅参考作用,请不要直接使用。https://alime-ws.aliyuncs.com/sse/paas4Json/121ccf51-94bf-4035-b7b4-4596ec1c03b4/e8c472e8-ddd8-42c8-b042-a89c7caa346d/d18120b6d9f83953b56340443f75188f/1718179407815
请求体:
{
"messageId": "9b73cec6-c6d0-4424-8427-1307eaa0b9fb",
"action":"TongyiBeebotChat",
"version":"2022-04-08",
"data": [
{
"type": "JSON_TEXT",
"value": "{\"InstanceId\":\"chatbot-cn-dDmF3jcdVf\",\"Utterance\":\"你有什么技能?\",\"VendorParam\":\"{\\\"docLabels\\\":\\\"30022351214\\\"}\",\"Perspective\":[\"cnfKrDEfFa\",\"deasdSKoipa\"]}"
}
]
}
3.2 返回示例
{
"data": [
{
"type": "JSON_TEXT",
"value":"{\"MessageBody\":{\"DirectMessageBody\":{\"ContentType\":\"RICH_TEXT\",\"Ext\":{},\"HitSystemAskConfig\":\"GPTQA_MODEL\",\"SentenceList\":[{\"Content\":\"我作为一名人工智能助手,\"}]},\"Type\":\"Direct\"},\"MessageId\":\"d8720210-9588-4b49-b412-09648621a073\",\"SequenceId\":\"f186e72492214631a6a150b2288d269f\",\"SessionId\":\"cidu1dmqF8iUdz2gNonzzZAhsWsocstnJqThr+wp430evc=\",\"Source\":\"SYSTEM_ASK_CONFIG\",\"StreamEnd\":false}"
}
],
"messageId": "9b73cec6-c6d0-4424-8427-1307eaa0b9fb",
"requestId": "8362abad-cde4-4350-b89a-583429d00204",
"success": true
}
3.2.1 会话响应结果
返回示例中的value字段去除转义字符后得到的JSON对象
{
"MessageBody": {
"DirectMessageBody": {
"ContentType": "RICH_TEXT",
"Ext": {},
"HitSystemAskConfig": "GPTQA_MODEL",
// 大模型输出的答案:把SentenceList列表每一个content为一个段落。
"SentenceList": [
{
"Content": "我作为一名人工智能助手,"
}
]
},
"Type": "Direct"
},
"MessageId": "d8720210-9588-4b49-b412-09648621a073",
"SequenceId": "f186e72492214631a6a150b2288d269f",
"SessionId": "cidu1dmqF8iUdz2gNonzzZAhsWsocstnJqThr+wp430evc=",
"Source": "SYSTEM_ASK_CONFIG",
"StreamEnd": false
}
3.2.2 其他的响应示例
3.2.2.1 Source=TASK_DRIVEN_DIALOGUE
{
"MessageBody":{
"Commands":{},
"DirectMessageBody":{
"ContentType":"PLAIN_TEXT",
"Ext":{
"EXTERNAL_FLAGS":{}
},
"SentenceList":[
{
"Content":"北京市晴,气温 8 摄氏度,东风 ≤3 级"
}
]
},
"Type":"Direct"
},
"MessageId":"7a2cdb51-af56-4ac9-9c6d-108905695ac9",
"SequenceId":"4861074fe523498ba3f397e876b60105",
"SessionId":"f3d7e960933411ee96144bea43fe4df3",
"Source":"TASK_DRIVEN_DIALOGUE",
"StreamEnd":true
}
3.2.2.3 Source=NON_STRUCTURAL_KNOWLEDGE
{
"MessageBody":{
"DirectMessageBody":{
"AnswerReference":{
"ItemList":[
{
"Content":"你好",
"ContentType":"RICH_TEXT",
"DataSource":"FAQ_DIRECT",
"Number":1,
"ReferenceExt":{
"DocName":"FAQ知识库"
},
"Title":"你好"
}
]
},
"ContentType":"RICH_TEXT",
"SentenceList":[
{
"Content":"你好",
"ReferNumber":1
}
]
},
"Type":"Direct"
},
"MessageId":"808a9cfb-2cec-4230-aad1-66c28df6040e",
"SequenceId":"32a052f098c14769b8b81ac202f38d01",
"SessionId":"595fa8a0940611eeb59a155f6621f5d6",
"Source":"NON_STRUCTURAL_KNOWLEDGE",
"StreamEnd":true
}
3.2.2.4 Source=SYSTEM_ASK_CONFIG
{
"MessageBody":{
"DirectMessageBody":{
"ContentType":"PLAIN_TEXT",
"HitSystemAskConfig":"NO_ANSWER",
"SentenceList":[
{
"Content":"我还没有学会这个问题,已经记录会尽快学习为您解答,请尝试询问我其他问题"
}
]
},
"Type":"Direct"
},
"MessageId":"f13833e7-9ca4-4a5b-8878-f5cc8a0a327c",
"SequenceId":"245c39ce1f11406bb3cf60b4d017dff0",
"SessionId":"6e7c44a0940111ee91e69d173591e2de",
"Source":"SYSTEM_ASK_CONFIG",
"StreamEnd":true
}
4 错误码
如果返回HTML代码,则说明URL上的参数不正确。
错误代码 | HTTP状态码 | 描述 |
InvalidInstanceId.NotFound | 404 | 指定的机器人ID不存在 |
InvalidParameter | 400 | 参数不合法 |
InternalError | 500 | 内部错误 |
限流错误
如果并发超过版本并发,将会触发限流,相应示例:
{
"code": "csQueueBusy",
"data": [],
"message": "排队中:服务繁忙,请等待",
"messageId": "203bee17-c404-4b9c-ba96-cf3873237fa0",
"requestId": "18f80b3c-ff87-468c-b90f-0d31e4ce34b8",
"success": false
}