Skip to content

发送会话消息(聊天)

介绍

聊天 API 允许开发者通过发送请求到指定的Agent,实现与Agent的实时互动聊天。此 API 主要用于实现用户与Agent之间的对话功能,适用于客服、咨询、教育等多种场景。

基本信息

POST https://ai-api.betteryeah.com/v1/oapi/agent/chat

请求头

名称类型是否必填描述示例
Content-Typestringtrue固定值 "application/json"application/json
Access-Keystringtrue用于认证的访问密钥,获取参照:获取请求相关信息NjMyZDZlMTFkNGUxNGU2NjhmMGY5MWFlLDEwMDAsMTY5NTA5ODEwNjkwMA==
Workspace-Idstringtrue工作空间 ID,获取参照:获取请求相关信息632d6e11d4e14e668f0f91ae

示例

javascript
Content-Type:application/json
Access-Key:NjMyZDZlMTFkNGUxNGU2NjhmMGY5MWFlLDEwMDAsMTY5NTA5ODEwNjkwMA==
Workspace-Id:632d6e11d4e14e668f0f91ae

请求体

名称类型是否必填描述示例
robot_idstringtrueagent的唯一标识符,获取参照:获取请求相关信息eaadc9531f0240d9beaf2bae98ea0e32
conversation_idstringtrue会话 idbc21a56c39b247e892541a69f56be3cc
contentstringtrue用户向 agent 聊天发送的消息总结书籍内容
inputsobjecttrue业务入参:以键值对方式提供用户输入字段,key 为变量名称,value 是参数值。
使用场景:
Agent 变量
Flow start 节点中表单变量
两种使用场景:
在 agent中定义变量 bookName,可在角色设定中使用双花括号bookName占位,通过 api 调用时可以动态传入数据,替换双花括号里面的内容;
在 flow 中 start 节点定义表单变量bookName,在api 调用时,可以将 inputs 中的变量内容赋值到表单变量;
response_modeenumtrueAPI 响应模式:
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"
}'

响应

名称类型描述示例
dataarrayAPI返回的实际数据
statusenum单个任务运行状态:FAILED(失败)、SUCCEEDED(成功)SUCCEEDED
duration_timenumber本轮对话执行总耗时,单位秒29.094
messagestring本轮对话执行信息:成功信息|异常信息“运行成功”
tasksarray本轮对话任务列表,包含技能、llm输出、相关问题推荐等;
namestring任务名称:
llm_response(llm模型输出)、技能 | 知识库 | Plugin 名称、related_questions(相关问题推荐)
llm_response | Bing 搜索 | related_questions
typeenum任务类型:
TEXT(文本)、FUNCTION(技能)、RELATED_QUESTIONS(相关问题推荐)
TEXT | FUNCTION | RELATED_QUESTIONS
tool_typeenum技能类型:
dataset(知识库)、flow(流程)、plugin(插件)、system(系统技能)
Dataset | flow | plugin | system
tool_idstring技能 id50719155c8d445188ba155fb586d2241
timestampnumber当前时间1711012198
statusenum单个任务运行状态:STARTED(开始)、FAILED(失败)、SUCCEEDED(成功)STARTED | SUCCEEDED | FAILED
contentobject | string单个任务内容,包含输入输出等
duration_timenumber单个任务运行时间1.16
codenumberAPI响应的状态码200 | 500等
successbooleanAPI调用是否成功。true表示成功,而false表示失败。True | false
messagestringAPI响应的状态消息
now_timenumber服务器当前的时间戳(以秒为单位)

响应示例(非流式)

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": "运行成功"}