主题
发送会话消息(聊天)
介绍
聊天 API 允许开发者通过发送请求到指定的Agent,实现与Agent的实时互动聊天。此 API 主要用于实现用户与Agent之间的对话功能,适用于客服、咨询、教育等多种场景。
基本信息
POST
https://ai-api.betteryeah.com/v1/oapi/agent/chat
请求头
名称 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
Content-Type | string | true | 固定值 "application/json" | application/json |
Access-Key | string | true | 用于认证的访问密钥,获取参照:获取请求相关信息 | NjMyZDZlMTFkNGUxNGU2NjhmMGY5MWFlLDEwMDAsMTY5NTA5ODEwNjkwMA== |
Workspace-Id | string | true | 工作空间 ID,获取参照:获取请求相关信息 | 632d6e11d4e14e668f0f91ae |
示例
javascript
Content-Type:application/json
Access-Key:NjMyZDZlMTFkNGUxNGU2NjhmMGY5MWFlLDEwMDAsMTY5NTA5ODEwNjkwMA==
Workspace-Id:632d6e11d4e14e668f0f91ae
请求体
名称 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
robot_id | string | true | agent的唯一标识符,获取参照:获取请求相关信息 | eaadc9531f0240d9beaf2bae98ea0e32 |
conversation_id | string | true | 会话 id | bc21a56c39b247e892541a69f56be3cc |
content | string | true | 用户向 agent 聊天发送的消息 | 总结书籍内容 |
inputs | object | true | 业务入参:以键值对方式提供用户输入字段,key 为变量名称,value 是参数值。 使用场景: Agent 变量 Flow start 节点中表单变量 | 两种使用场景: 在 agent中定义变量 bookName,可在角色设定中使用双花括号 bookName 占位,通过 api 调用时可以动态传入数据,替换双花括号里面的内容;在 flow 中 start 节点定义表单变量 bookName ,在api 调用时,可以将 inputs 中的变量内容赋值到表单变量; |
response_mode | enum | true | API 响应模式: blocking(非流式返回):等待执行完毕后返回结果,请求若流程较长可能会被中断。 streaming(流式返回):基于 SSE 实现流式返回。 默认值为blocking。 | blocking |
示例
javascript
{
"robot_id": "eaadc9531f0240d9beaf2bae98ea0e32",
"conversation_id": "bc21a56c39b247e892541a69f56be3cc",
"content": "搜索书籍,总结内容",
"inputs": {
"bookName":"孙子兵法"
},
"response_mode":"blocking"
}
请求示例(CURL)
javascript
curl --location 'https://ai-api.betteryeah.com/v1/oapi/agent/chat' \
--header 'Content-Type: application/json' \
--header 'Access-Key: NjMyZDZlMTFkNGUxNGU2NjhmMGY5MWFlLDEwMDAsMTY5NTA5ODEwNjkwMA==' \
--header 'Workspace-Id: 632d6e11d4e14e668f0f91ae' \
--data '{
"robot_id": "eaadc9531f0240d9beaf2bae98ea0e32",
"conversation_id": "bc21a56c39b247e892541a69f56be3cc",
"content": "总结书籍内容",
"inputs": {
"bookName":"孙子兵法"
},
"response_mode":"blocking"
}'
响应
名称 | 类型 | 描述 | 示例 | ||
---|---|---|---|---|---|
data | array | API返回的实际数据 | |||
status | enum | 单个任务运行状态:FAILED(失败)、SUCCEEDED(成功) | SUCCEEDED | ||
duration_time | number | 本轮对话执行总耗时,单位秒 | 29.094 | ||
message | string | 本轮对话执行信息:成功信息|异常信息 | “运行成功” | ||
tasks | array | 本轮对话任务列表,包含技能、llm输出、相关问题推荐等; | |||
name | string | 任务名称: llm_response(llm模型输出)、技能 | 知识库 | Plugin 名称、related_questions(相关问题推荐) | llm_response | Bing 搜索 | related_questions | ||
type | enum | 任务类型: TEXT(文本)、FUNCTION(技能)、RELATED_QUESTIONS(相关问题推荐) | TEXT | FUNCTION | RELATED_QUESTIONS | ||
tool_type | enum | 技能类型: dataset(知识库)、flow(流程)、plugin(插件)、system(系统技能) | Dataset | flow | plugin | system | ||
tool_id | string | 技能 id | 50719155c8d445188ba155fb586d2241 | ||
timestamp | number | 当前时间 | 1711012198 | ||
status | enum | 单个任务运行状态:STARTED(开始)、FAILED(失败)、SUCCEEDED(成功) | STARTED | SUCCEEDED | FAILED | ||
content | object | string | 单个任务内容,包含输入输出等 | |||
duration_time | number | 单个任务运行时间 | 1.16 | ||
code | number | API响应的状态码 | 200 | 500等 | ||
success | boolean | API调用是否成功。true表示成功,而false表示失败。 | True | false | ||
message | string | API响应的状态消息 | |||
now_time | number | 服务器当前的时间戳(以秒为单位) |
响应示例(非流式)
json
{
"code": 200,
"success": true,
"message": "SUCCESS",
"data": {
"status": "SUCCEEDED",
"duration_time": 29.094,
"message": "运行成功",
"tasks": [
{
"name": "Bing搜索",
"type": "FUNCTION",
"tool_type": "system",
"tool_id": "50719155c8d445188ba155fb586d2241",
"timestamp": 1711012198,
"status": "STARTED",
"content": {},
"duration_time": 0.0,
"message": "运行成功",
"metadata": {
"icon": "https://resource-bty.oss-cn-hangzhou.aliyuncs.com/betteryeah/agent/plugins/bing.png",
"color": "#ADE9CE"
}
},
{
"name": "Bing搜索",
"type": "FUNCTION",
"tool_type": "system",
"tool_id": "50719155c8d445188ba155fb586d2241",
"timestamp": 1711012199,
"status": "SUCCEEDED",
"content": {
"input": {
"text_length": 1000,
"question": "孙子兵法形篇",
"parse_web_count": 2,
"parse_web_status": true
},
"output": [
{
"title": "孙子兵法·形篇_诗词_百度汉语",
"url": "https://hanyu.baidu.com/shici/detail?pid=e0aca0acb4c51918086d0ea3c7efc833",
"snippet": "孙子兵法·形篇. 【作者】 孙武 【朝代】春秋末年. 拼音. 孙子曰:昔之善战者,先为不可胜,以待敌之可胜。 不可胜在己,可胜在敌。 故善战者,能为不可胜,不能使敌之必可胜。 故曰:胜可知,而不可为。 不可胜者,守也;可胜者,攻也。 守则不足,攻则有余。 善守者藏于九地之下,善攻者动于九天之上,故能自保而全胜也。 见胜不过众人之所知,非善之善者也;战胜而天下曰善,非善之善者也。 故举秋毫不为多力,见日月不为明目,闻雷霆不为聪耳。 古之所谓善战者,胜于易胜者也。 故善战者之胜也,无智名,无勇功,故其战胜不忒。 不忒者,其所措胜,胜已败者也。 故善战者,立于不败之地,而不失敌之败也。 是故胜兵先胜而后求战,败兵先战而后求胜。 善用兵者,修道而保法,故能为胜败之政。",
"content": "[](/ \"百度汉语\")\n\n * [登录](https://passport.baidu.com/v2/?login&tpl=mn&u=http://hanyu.baidu.com%2Fshici%2Fdetail%3Fpid%3De0aca0acb4c51918086d0ea3c7efc833)\n * |\n * [手机版](/download)\n * |\n * [百度首页](http://www.baidu.com)\n\n下载百度汉语App\n\n名师好课免费看\n\n# 孙子兵法·形篇\n\n[ 【作者】孙武 ](/s?wd=孙武) 【朝代】春秋末年\n\n拼音\n\n{\"ret_array\":[{\"means\":[\"\孙\子\说\:\以\前\善\于\用\兵\作\战\的\人\,\总\是\首\先\创\造\自\己\不\可\战\胜\的\条\件\,\\u5e7"
},
{
"title": "《孙子兵法》——形篇 - 知乎",
"url": "https://zhuanlan.zhihu.com/p/493404974",
"snippet": "《孙子兵法》——形篇 形篇阐释了孙子的核心思想——先胜而后战。 孙子曰:昔之善战者,先为不可胜,以待敌之可胜。不可胜在己,可胜在敌。故善战者,能为不可胜,不能使敌之可胜。故曰:胜可知,而不可为。善于作…",
"content": "[](javascript:void\\(0\\))\n\n[](//www.zhihu.com)\n\n切换模式\n\n写文章\n\n登录/注册\n\n# 《孙子兵法》——形篇\n\n[](//www.zhihu.com/people/keuren)\n\n[钟离无月](//www.zhihu.com/people/keuren)\n\n分析故事创作本质内核。\n\n13 人赞同了该文章\n\n## 《孙子兵法》——形篇\n\n \n\n形篇阐释了孙子的核心思想——先胜而后战。\n\n **孙子曰:昔之善战者,先为不可胜,以待敌之可胜。不可胜在己,可胜在敌。故善战者,能为不可胜,不能使敌之可胜。故曰:胜可知,而不可为。**\n\n善于作战的人,总是会预先创造不被敌人战胜的条件以使自己处于不败之地,然后等待可以战胜敌人的机会。做到不被敌人战胜,这在于自己的主观努力。能否战胜敌人,则在于敌人是否有隙可乘。所以,善于作战的人,能够做到的是不被敌人战胜,而不能做到使敌人必定被我所战胜。所以说:胜利是可以预见的,却是不可以强求的。\n\n关于“形”,曹操说:“军之形也,我动彼应,两敌相察情也。” 形,是可以观察到的,我动彼应,我动一动,看对方如何回应。如"
}
]
},
"duration_time": 7.035,
"message": "运行成功",
"metadata": {
"icon": "https://resource-bty.oss-cn-hangzhou.aliyuncs.com/betteryeah/agent/plugins/bing.png",
"color": "#ADE9CE"
}
},
{
"name": "llm_response",
"type": "TEXT",
"tool_type": "SYSTEM",
"tool_id": "",
"timestamp": 1711012227,
"status": "SUCCEEDED",
"content": "形篇主要强调了以下几个方面的内容:\n1. 先胜而后战的思想:强调善战者应先创造不可被敌人战胜的条件,然后等待可以战胜敌人的机会。\n2. 不可胜在己,可胜在敌:强调了善战者能够做到不被敌人战胜,但不能保证一定可以打败敌人。\n3. 守则不足,攻则有余:指出善战者能够做到不被敌人战胜,但不能做到使敌人必定被我所战胜。\n4. 见胜不过众人之所知:强调善战者的胜利不需要展现智名和勇功,战胜不是靠言语和行动,而是靠实际措施和战术。\n\n这些内容总结了孙子兵法形篇对战争的核心思想和战略原则,为军事指挥和战争决策提供了重要的理论基础。详细内容可以参考[百度汉语-孙子兵法·形篇](https://hanyu.baidu.com/shici/detail?pid=e0aca0acb4c51918086d0ea3c7efc833)。",
"duration_time": 0.0,
"message": "运行成功"
},
{
"name": "related_questions",
"type": "RELATED_QUESTIONS",
"tool_type": "",
"tool_id": "",
"timestamp": 1711012225,
"status": "STARTED",
"content": {},
"duration_time": 0.0,
"message": "运行成功"
},
{
"name": "related_questions",
"type": "RELATED_QUESTIONS",
"tool_type": "",
"tool_id": "",
"timestamp": 1711012225,
"status": "SUCCEEDED",
"content": {
"related_questions": [
"孙子兵法形篇的战略原则有哪些?",
"如何理解孙子兵法中关于先胜而后战的思想?",
"善战者如何做到守则不足,攻则有余?"
]
},
"duration_time": 1.588,
"message": "运行成功"
}
],
"timestamp": 1711012198
},
"now_time": 1711012227
}
响应示例(流式)
javascript
data: {"name": "Bing搜索", "type": "FUNCTION", "tool_type": "system", "tool_id": "0dc53ab0092841968890990c41ccbbef", "timestamp": 1711016273, "status": "STARTED", "content": {"input": {}}, "duration_time": 0.0, "message": "运行成功", "metadata": {"icon": "https://resource-bty.oss-cn-hangzhou.aliyuncs.com/betteryeah/agent/plugins/bing.png", "color": "#ADE9CE", "properties": {"inputs": {"parse_web_status": {"display_name": "解析网页内容", "value": true, "type": "bool", "component": "switch"}, "parse_web_count": {"display_name": "解析链接数量", "value": 2, "type": "int", "component": "slider", "limit": {"min": 1, "max": 3}}}, "outputs": {"output_mode": {"optional": [{"key": "agent_processed", "description": "经过Agent处理后输出"}, {"key": "direct_output", "description": "不做处理直接返回结果"}], "component": "select", "value": "agent_processed"}}}}}
data: {"name": "Bing搜索", "type": "FUNCTION", "tool_type": "system", "tool_id": "0dc53ab0092841968890990c41ccbbef", "timestamp": 1711016274, "status": "SUCCEEDED", "content": {"input": {"text_length": 1000, "question": "孙子兵法", "parse_web_count": 2, "parse_web_status": true}, "output": [{"title": "孙子兵法(中国古典军事著作)_百度百科", "url": "https://baike.baidu.com/item/%E5%AD%99%E5%AD%90%E5%85%B5%E6%B3%95/136", "snippet": "《孙子兵法》是中国 春秋时期 一部 古典 的军事著作,也是现存最早的兵书。 作者是 孙武 。 孙子兵法. 孙武兵法、吴孙子兵法、孙子兵书、孙武兵书. 军事理论 思想. 创作年代. 春秋时期. 文学体裁. 先秦古文. 字 数. 6075字. 藏 馆. 山东省博物馆. 篇 幅. 十三篇. 目录. 1 内容简介. 2 主要归纳. 3 成书过程. 4 作品原文. 始计篇. 作战篇. 谋攻篇. 军形篇. 兵势篇. 虚实篇. 军争篇. 九变篇. 行军篇. 地形篇. 九地篇. 火攻篇. 用间篇.", "content": "[网页](https://www.baidu.com/s?ie=utf-8&fr=bks0000&wd=孙子兵法)[新闻](http://news.baidu.com/ns?tn=news&cl=2&rn=20&ct=1&fr=bks0000&ie=utf-8&word=孙子兵法)[贴吧](https://tieba.baidu.com/f?ie=utf-8&fr=bks0000&kw=孙子兵法)[知道](https://zhidao.baidu.com/search?pn=0&&rn=10&lm=0&fr=bks0000&word=孙子兵法)[网盘](https://pan.baidu.com/disk/home#/search?from=1027327l&key=孙子兵法)[图片](http://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&word=孙子兵法)[视频](https://www.baidu.com/sf/vsearch?pd=video&tn=vsea"}, {"title": "《孙子兵法》全文十三篇解释及翻译", "url": "https://sunzi.5000yan.com/", "snippet": "《孙子兵法》是世界上最早的兵法著作,深刻总结了春秋时期各国交战的丰富经验,集中概括了战略战术的一般规律。 《三十六计》是根据我国历代卓越的军事思想,特别是丰富多彩的军事经验总结而成的兵书战策;是对我国古代兵家计谋的理论概括和军事谋略 ...", "content": "\n\n"}, {"title": "孙子兵法(原文及译文) - 知乎", "url": "https://zhuanlan.zhihu.com/p/367640181", "snippet": "本文收录了《孙子兵法》的全文及其译文,分析了孙子兵法的主要内容和思想,如道、天、地、将、法等五要素,以及兵家之胜的千变万化。阅读本文,可以了解孙子兵法的军事思想和历史价值,也可以体悟道意和军神的关系。"}, {"title": "孙子兵法全文|译文_古诗文网", "url": "https://www.gushiwen.cn/guwen/sunzi.aspx", "snippet": "《孙子兵法》是春秋时吴国将军孙武所著的军事著作,被誉为“兵学圣典”,是世界上最早的军事著作。本网站提供《孙子兵法》全文阅读,以及71条名句摘录,展示孙子兵法的军事思想和文化价值。"}, {"title": "《孙子兵法》全文(附白话文对照) - 知乎", "url": "https://zhuanlan.zhihu.com/p/610381295", "snippet": "本文收录了《孙子兵法》的全文,并附有白话文的对照译文,方便读者理解和学习。《孙子兵法》是中国古代军事思想的经典之作,教导将士如何运用道、天、地、将、法等因素,制定战略计划,克服敌人。"}]}, "duration_time": 13.795, "message": "运行成功", "metadata": {"icon": "https://resource-bty.oss-cn-hangzhou.aliyuncs.com/betteryeah/agent/plugins/bing.png", "color": "#ADE9CE", "properties": {"inputs": {"parse_web_status": {"display_name": "解析网页内容", "value": true, "type": "bool", "component": "switch"}, "parse_web_count": {"display_name": "解析链接数量", "value": 2, "type": "int", "component": "slider", "limit": {"min": 1, "max": 3}}}, "outputs": {"output_mode": {"optional": [{"key": "agent_processed", "description": "经过Agent处理后输出"}, {"key": "direct_output", "description": "不做处理直接返回结果"}], "component": "select", "value": "agent_processed"}}}}, "upgrade_consume": 0}
data: {"name": "llm_response", "type": "TEXT", "tool_type": "", "tool_id": "", "timestamp": 1711016288, "status": "SUCCEEDED", "content": "根", "duration_time": 0.0, "message": "运行成功"}
data: {"name": "llm_response", "type": "TEXT", "tool_type": "", "tool_id": "", "timestamp": 1711016288, "status": "SUCCEEDED", "content": "据", "duration_time": 0.0, "message": "运行成功"}
....
data: {"name": "llm_response", "type": "TEXT", "tool_type": "", "tool_id": "", "timestamp": 1711016291, "status": "SUCCEEDED", "content": ")", "duration_time": 0.0, "message": "运行成功"}
data: {"name": "llm_response", "type": "TEXT", "tool_type": "", "tool_id": "", "timestamp": 1711016291, "status": "SUCCEEDED", "content": "。", "duration_time": 0.0, "message": "运行成功"}
data: {"name": "related_questions", "type": "RELATED_QUESTIONS", "tool_type": "", "tool_id": "", "timestamp": 1711016292, "status": "STARTED", "content": {}, "duration_time": 0.0, "message": "运行成功"}
data: {"name": "related_questions", "type": "RELATED_QUESTIONS", "tool_type": "", "tool_id": "", "timestamp": 1711016292, "status": "SUCCEEDED", "content": {"related_questions": ["孙子兵法的作者是谁?", "孙子兵法包括多少篇?", "孙子兵法被誉为什么?"]}, "duration_time": 1.232, "message": "运行成功"}