WPS365Agent通用接口
WPS365Agent通用能力
- 支持 查询、搜索、发送、撤回、总结消息
- 搜索、发送、总结邮件
- 创建、查看、更新、删除日程、创建代办
- 搜索邮件、聊天内容回答问题
请求说明
请求地址 | https://openapi.wps.cn/v7/sse/wps365agent/chat_stream |
---|---|
请求方法 | POST |
签名方式 | KSO-1 |
权限要求 | 365Agent能力(用户授权)kso.agent.readwrite |
请求头(Header)
Header 名称 | 参数类型 | 是否必填 | 说明 |
---|---|---|---|
Content-Type | string | 是 | 使用:application/json |
X-Kso-Date | string | 是 | RFC1123 格式的日期,例: Wed, 23 Jan 2013 06:43:08 GMT |
X-Kso-Authorization | string | 是 | KSO-1 签名值,详见《签名方法》 |
Authorization | string | 是 | 授权凭证,格式为:Bearer {access_token} |
请求体(Body)
名称 | 参数类型 | 是否必填 | 说明 |
---|---|---|---|
query | string | 是 | 用户输入的问题 限制:最大长度 1024 字符 |
call_tool | boolean | 否 | agent是否执行识别到的工具(如果不执行,就只给出工具相关参数),默认true |
context | object | 否 | 上下文参数,可选参数 |
∟ search_chatmsg | object | 否 | 搜索消息可选值 |
∟ ∟ max_size_of_chat | int64 | 否 | 最大处理消息长度 限制:最大值 10000 |
∟ ∟ max_size_of_msg | int64 | 否 | 最大处理聊天会话个数 限制:最大值 20 |
∟ search_email | object | 否 | 搜索邮件可选值 |
∟ ∟ max_size | int64 | 否 | 至多搜索的邮件结果数量 限制:最大值 100 |
∟ search_files | object | 否 | 搜索文件可选值 |
∟ ∟ default_search | string | 否 | 表示默认情况下,只搜索文档名,不填是文档名+文档内容都搜索. 可选只搜文档名:file_name 限制:最大长度 1024 字符 |
∟ ∟ max_size | int64 | 否 | 表示返回至多max_size条搜索结果 限制:最大值 100 |
enable_chat | boolean | 否 | 未命中工具时是否启用通用AIGC回答,默认:true (启用) |
enable_multi_turn | boolean | 否 | 是否开启多轮对话,如果不想受多轮上下文影响结果,可以关闭,默认:true (启用) |
enable_output_json | boolean | 否 | 是否以JSON格式输出结果,默认:false (输出Markdown) |
enable_rewrite | boolean | 否 | 是否开启query多轮改写支持,默认:true (启用) |
enable_sft | boolean | 否 | agent模型是否采用自研微调训练模型,默认是采用自研模型效果上有保障,默认:true (启用,效果更优) |
enable_show_answer | boolean | 否 | 是否显示返回字段中answer的内容,默认:true (显示) |
enable_skip_agent_plan | boolean | 否 | 是否跳过agent的任务规划阶段(用于特别场景下不需要任务规划的场景),默认:false (不跳过) |
enable_skip_process_tool_result | boolean | 否 | 对于多条query问题,是否跳过中间过程工具调用的结果,只给出最后一个工具调用的结果,默认:false (显示完整过程) |
scenes | string[] | 否 | 指定专用场景: - email (邮件场景)- wpsdoc (云文档场景)默认:不传或空值(表示通用wps365api支持的场景) 字符串数组类型,支持同时指定多个专用场景。 限制:最多 1024 个元素 |
support_funcall | boolean | 否 | agent模型切换到AI网关模型时,是否走 funcall 的方式调用,默认是走 prompt 的方式,默认:false (使用 prompt 方式) |
token | string | 否 | 用于同一个会话的多轮对话保持。 - 不传或者传空,都表示新开一个会话(首次调用传空) - 用接口返回的token作为下一轮对话的保持 限制:最大长度 1024 字符 |
请求地址示例
[POST] https://openapi.wps.cn/v7/sse/wps365agent/chat_stream
请求体示例
json
{
"query": "请帮我查找上周的市场分析报告",
"call_tool": true,
"context": {
"search_chatmsg": {
"max_size_of_chat": 5000,
"max_size_of_msg": 10
},
"search_email": {
"max_size": 10
},
"search_files": {
"default_search": "file_name",
"max_size": 50
}
},
"enable_chat": false,
"enable_multi_turn": true,
"enable_output_json": true,
"enable_rewrite": true,
"enable_sft": false,
"enable_show_answer": true,
"scenes": ["wpsdoc", "email"],
"support_funcall": false,
"token": "xxx"
}
响应体
名称 | 参数类型 | 说明 |
---|---|---|
code | int | 响应代码。非 0 表示失败,参照《状态码说明》 |
msg | string | 响应信息 |
more | object | 更多的错误信息 |
data | object | 响应数据 |
∟ code | int32 | 返回的结果状态码。 |
∟ msg | string | 1. 取值范围:process,done,其它。 2. 消息说明:出错时是错误信息,否则是流消息说明。 process表示过程流,done表示流结束(最后一个流)。 |
∟ data | object | 365agent响应结果 |
∟ ∟ answer | string | 1. 当 type=funcall 时: - funcall成功(state=funcall_ok或funcall_stream),格式可以是markdown或json,具体取决于输入参数is_output_json。 - funcall失败时,格式为string。 2. 当 type=state或message 时,answer格式是string。 |
∟ ∟ type | string | 1. 取值范围:message,funcall,state。 - funcall:表示工具执行结果。 - state:表示agent当前执行状态。 - message:表示普通文本提示消息。 |
∟ ∟ state | string | 1. 当 type=funcall或state 时有值。 2. 当 type=state 时,取值范围:finished,doing,intent: - finished:执行结束。 - doing:正在执行中。 - intent:意图理解中。 3. 当 type=funcall 时,取值范围:miss_param,need_confirm,stream,funcall_ok,funcall_failed: - miss_param:缺参数需补参。 - need_confirm:需用户确认。 - stream:过程流式结果。 - funcall_ok:最终流式结果或结束。 - funcall_failed:流结束且出现错误。 |
∟ ∟ tool_name | string | 调用工具名称,type=funcall或state时有值。 |
∟ ∟ tool_tip | string | tool_name的中文解释。 |
∟ ∟ tool_params | map<string, string> | 工具 tool_name 调用的参数字典。 |
∟ ∟ context | map<string, string> | 相关业务约定好的返回上下文信息,可为任何类型,需与具体业务方约定格式。 |
响应体示例
json
{
"code": 0,
"msg": "success",
"more": {
"xxx": "xxx"
},
"data": {
"code": 0,
"msg": "done",
"data": {
"answer": "工具执行成功,返回的结果。",
"type": "funcall",
"state": "funcall_ok",
"tool_name": "string",
"tool_tip": "string",
"tool_params": {
"xxx": "xxx"
},
"context": {
"xxx": "xxx"
}
}
}
}