所有在BOT编排界面产生的问题均在此文档中汇集,目前主要包含
- 关键步骤介绍
- 用户问题汇总
大模型两种输出方式
大模型 本身没有记忆能力,每一次的调用都是独立请求,输入内容和人设与回复逻辑决定了最终的输出结果
大模型直接回复
对于调试界面中调用LLM Doubao-pro-32k/functioncall-preview节点完整的输入内容介绍
#role 为角色,告知大模型本次 content 中的内容由哪个角色发出,system 为人设与回复逻辑中的内容,俗称系统提示词
{"messages":[
{"content":"你是一个非常幽默风趣的机器人","role":"system"},
#role 为user 则为用户对话内容; assistant 为智能体回复内容,以下内容为与bot的历史对话记录,最后一条为当前对话的问题
{"content":"你好","role":"user"},
{"content":"你好!有什么我可以帮助的吗?","role":"assistant"},
{"content":"你叫什么名字","role":"user"},
{"content":"我是豆包,是由字节跳动公司开发的人工智能。我可以回答各种问题并与你交流,很高兴为你服务!","role":"assistant"},
{"content":"你的姓名叫什么","role":"user"},{"content":"我叫豆包呀,这名字是不是很可爱,哈哈!","role":"assistant"},
{"content":"你好呀","role":"user"}],
#本次对话使用的模型和参数
"model":"Doubao-pro-32k/functioncall-preview","model_meta":{"format":"text","frequency_penalty":0,"max_tokens":4096,"temperature":0.7,"top_p":0.7},
#工具列表,包含了插入的插件和工作流等内容。作用是告知大模型存在这些插件以及插件相关信息,便于大模型判断问题是否需要调用插件并生成插件描述中要求的相关参数
"tools":[
{"function":{"description":"必应搜索引擎。当你需要搜索你不知道的信息,比如天气、汇率、时事等,这个工具非常有用。但是绝对不要在用户想要翻译的时候使用它。","name":"biyingsousuo-bingWebSearch","parameters":{"description":"","properties":{"count":{"description":"响应中返回的搜索结果数量。默认为10,最大值为50。实际返回结果的数量可能会少于请求的数量。","properties":{},"type":"integer"},"freshness":{"description":"查询时间范,例如:2020-03-20..2023-09-09","properties":{},"type":"string"},"offset":{"description":"从返回结果前要跳过的基于零的偏移量。默认为0。","properties":{},"type":"integer"},"query":{"description":"用户的搜索查询词。查询词不能为空。","properties":{},"type":"string"}},"type":"object"}},"type":"function"},
{"function":{"description":"当你需要获取网页、pdf、抖音视频内容时,使用此工具。可以获取url链接下的标题和内容。","name":"lianjieduqu-LinkReaderPlugin","parameters":{"description":"","properties":{"skip_cache":{"description":"是否跳过缓存, default value is false","properties":{},"type":"boolean"},"url":{"description":"网页url、pdf url、抖音视频url、docx url、csv url。","properties":{},"type":"string"}},"required":["url"],"type":"object"}},"type":"function"},
{"function":{"description":"针对于论文中所需要的资料,在互联网上进行搜索。","name":"ts-searchpaper_1-searchpaper_1","parameters":{"description":"","properties":{},"type":"object"}},"type":"function"}]}
大模型的基本推理逻辑:结合已知信息(历史记录、长期记忆、插件信息等),根据人设与回复逻辑的要求来进行总结回复
大模型调用插件回复
在扣子中,工作流、数据库、变量等在调试界面中节点名称以插件工具调用进行描述的节点都视为插件,均按照插件调用逻辑执行
大模型一次对话只能进行一次插件调用,涉及多插件调用的场景需要使用工作流
这里举例一个调用插件的案例
智能体的输出经历了三个步骤
- step1: 大模型识别到用户问题,调用头条新闻插件
- step2:插件执行并返回执行结果
- step3:根据插件的执行结果返回本次调用的总结回复
下面详细解释三个步骤的具体过程
模型判断插件调用
输入给模型的内容
{"messages":
[{"content":"人设与回复逻辑相关内容","role":"system"},
{"content":"帮我搜索下最新的新闻信息","role":"user"}],
"model":"Doubao-pro-32k/functioncall-preview","model_meta":{"format":"text","frequency_penalty":0,"max_tokens":4096,"temperature":0.7,"top_p":0.7},"tools":[{"function":{"description":"搜索新闻讯息","name":"toutiaoxinwen-getToutiaoNews","parameters":{"description":"","properties":{"q":{"description":"搜索新闻的关键词,必须用中文","properties":{},"type":"string"}},"required":["q"],"type":"object"}},"type":"function"}]}
在模型的首次调用中,会自动将人设与回复逻辑(line2)和历史记录(line3)拼接进去作为参考。同时也会将 Bot 中添加的插件以列表形式传入。
输出内容:
{"choices":[{"index":0,"message":{"content":"当前提供了1个工具,分别是["toutiaoxinwen-getToutiaoNews"],需求为搜索最新的新闻信息,需要调用toutiaoxinwen-getToutiaoNews工具进行搜索","role":"assistant",
"tool_calls":[{"function":{"arguments":"{"q": "最新的新闻信息"}","name":"toutiaoxinwen-getToutiaoNews"}}]},
"stop_reason":"tool_calls"}],
"model":"Doubao-pro-32k/functioncall-preview","usage":{"completion_tokens":73,"prompt_tokens":110,"total_tokens":183}}
最终,模型根据用户的问题,结合插件的描述,判断出需要调用toutiaoxinwen-getToutiaoNews插件并生成了该插件需要的参数。
插件获得参数并返回输出
模型总结回复(最终输出)
输入给模型的内容
{"messages":[{"content":"人设与回复逻辑相关内容","role":"system"},{"content":"帮我搜索下最新的新闻信息","role":"user"},{"content":"当前提供了1个工具,分别是["toutiaoxinwen-getToutiaoNews"],需求为搜索最新的新闻信息,需要调用toutiaoxinwen-getToutiaoNews工具进行搜索","role":"assistant","tool_calls":[{"function":{"arguments":"{"q": "最新的新闻信息"}","name":"toutiaoxinwen-getToutiaoNews"}}]},{"content":"{"news":[{"time":"2024-11-12 08:43","url":"https://toutiao.com/group/7436186828648055359/","summary":"今天是11月12日,星期二,今日新闻有:1、青海油田消息,近期天然气日产量超1660万立方米。作为甘青藏主要气源地,其一直将冬季保供作为保民生重点工程推进。近年面对难题,青海油田强化管理、优化生产组织以提升增气能力。2、国内首座综合开发型客整所完成桩基承台施工,为主体施工奠基。","media_name":"知晓今日事","categories":["news_society/other","news_society"],"title":"最新消息!11月12日新闻摘要,十条国内今日要闻!","cover":"https://p6-img.searchpstatp.com/tos-cn-i-vvloioitz3/f20347fa26f9cf416d901db667a7e3fb~tplv-vvloioitz3-6:190:124.jpeg"},{"categories":["news_finance/other","news_finance"],"title":"展示业内最新产品、最前沿技术!新一代信息技术展今天开展","cover":"https://p6-img.searchpstatp.com/tos-cn-i-vvloioitz3/5b700a8a9529ab957bddf6123c8bccb3~tplv-vvloioitz3-6:190:124.jpeg","time":"2024-11-12 06:10","url":"http://news.qingdaonews.com/wap/2024-11/12/content_23619415.htm","summary":"青岛日报社/观海新闻讯 备受瞩目的2024国际虚拟现实创新大会将于11月12日至13日在青岛国际会展中心举办。","media_name":"青岛新闻网"},{"summary":"以下新闻均来源权威媒体请放心阅读一,“桃芝”已移入南海!预计14日趋近海南岛东部到广东西部一带沿海11月12日,台风“银杏”减弱为热带低压并将逐渐消失,“桃芝”减弱为强热带风暴级且14日趋近海南岛东部到广东西部一带沿海。12日至14日,受二者及冷空气影响,南海部分海面有大风。","media_name":"看尽天下事","categories":["news_society/other","news_society"],"title":"最新消息:11月12日傍晚6点前新闻摘要,今日国内10条精彩要闻!","cover":"https://p6-img.searchpstatp.com/tos-cn-i-vvloioitz3/d500eeb7dcb1e57042565a12ad54aeb0~tplv-vvloioitz3-6:190:124.jpeg","time":"2024-11-12 18:00","url":"https://toutiao.com/group/7436327698730926611/"},{"categories":["news_house/house_market/house_city","news_finance/finance_sensitive","news_house/house_market","news_finance","news_house"],"title":"最新消息:今日必看10条要闻,2024.11.12新闻摘要!","cover":"https://p6-img.searchpstatp.com/tos-cn-i-vvloioitz3/b4a768fc84df6c31d5b25daf24b50a78~tplv-vvloioitz3-6:190:124.jpeg","time":"2024-11-12 09:15","url":"https://toutiao.com/group/7436194681777685046/","summary":"今天是2024年11月12日,星期二,农历十月十二,今日要闻有一.2024年下半年国内成品油价格波动,92号汽油累计下降0.56元/升,95号汽油和0号柴油分别累计下降0.59元/升和0.61元/升。二.人民币兑美元中间价下调至7.1786,创2023年11月3日以来最低。三.","media_name":"大笑说事"},{"url":"https://toutiao.com/group/7436040210162467365/","summary":"以下新闻均来源权威媒体请放心阅读一、中国空天战机“白帝”亮相,震撼世界! 珠海航展上,中国“白帝”空天战机公开亮相。它被证实为中航工业项目,能在太空战斗。目前是概念机,可能是六代机。虽最终需完善,但已引发关注。全球六代机标准未定,各国都在探索中。","media_name":"小崔看世界","categories":["news"],"title":"最新消息:11月12日凌晨0点前新闻摘要,今日国内十条精彩要闻!","cover":"https://p3-img.searchpstatp.com/tos-cn-i-vvloioitz3/8311aab740dab40b590fd0235092a343~tplv-vvloioitz3-6:190:124.jpeg","time":"2024-11-11 23:46"}]}","name":"toutiaoxinwen-getToutiaoNews","role":"tool"}],"model":"Doubao-pro-32k/functioncall-preview","model_meta":{"format":"text","frequency_penalty":0,"max_tokens":4096,"temperature":0.7,"top_p":0.7},"tools":[{"function":{"description":"搜索新闻讯息","name":"toutiaoxinwen-getToutiaoNews","parameters":{"description":"","properties":{"q":{"description":"搜索新闻的关键词,必须用中文","properties":{},"type":"string"}},"required":["q"],"type":"object"}},"type":"function"}]}
基于模型调用的基础上,这次的模型输入新增了插件的调用信息和返回结果
输出内容
{"choices":[{"index":0,"message":{"content":"为你找到以下最新的新闻信息:\n- [最新消息!11月12日新闻摘要,十条国内今日要闻!](https://toutiao.com/group/7436186828648055359/):今天是11月12日,星期二,今日新闻有:1、青海油田消息,近期天然气日产量超1660万立方米。作为甘青藏主要气源地,其一直将冬季保供作为保民生重点工程推进。近年面对难题,青海油田强化管理、优化生产组织以提升增气能力。2、国内首座综合开发型客整所完成桩基承台施工,为主体施工奠基。\n- [展示业内最新产品、最前沿技术!新一代信息技术展今天开展](http://news.qingdaonews.com/wap/2024-11/12/content_23619415.htm):青岛日报社/观海新闻讯 备受瞩目的2024国际虚拟现实创新大会将于11月12日至13日在青岛国际会展中心举办。\n- [最新消息:11月12日傍晚6点前新闻摘要,今日国内10条精彩要闻!](https://toutiao.com/group/7436327698730926611/):以下新闻均来源权威媒体请放心阅读一,“桃芝”已移入南海!预计14日趋近海南岛东部到广东西部一带沿海11月12日,台风“银杏”减弱为热带低压并将逐渐消失,“桃芝”减弱为强热带风暴级且14日趋近海南岛东部到广东西部一带沿海。12日至14日,受二者及冷空气影响,南海部分海面有大风。","role":"assistant"},"stop_reason":"stop"}],"model":"Doubao-pro-32k/functioncall-preview","usage":{"completion_tokens":394,"prompt_tokens":1456,"total_tokens":1850}}
最终模型结合所有的输入信息,进行总结回复
模型回复没有调用插件或工作流导致输出异常
Step 1 选择合适的模型(支持functioncall能力的模型在调用插件上效果更好)
Step 2 描述调整
1、模型判断插件调用调优
人设与回复逻辑调整
清晰具体的描述什么场景下需要调用什么插件
当问题是关于金融领域的内容时,调用插件
插件描述调整
描述插件本身的功能,也可强调什么场景下使用插件,可参考官方插件描述方式
自定义插件或工作流的参数描述调整
要想插件被正常调用,需要大模型生成正确的参数,生成逻辑主要是根据变量描述,从对话内容中提取相关变量
2、插件返回
插件最好返回一个适当的内容,可以是对插件执行结果的直接返回,也可以是返回一个状态描述:插件已成功执行。
如果插件返回为空,会偶发一些非预期问题,导致插件重复执行。这个问题在工作流结束节点为空时比较容易出现。
3、模型总结回复
最终的总结回复是没有调整手段的,但因为是最终输出,所以主要用来确认模型是否按输入内容进行了正确输出
总结回复中,包含了上游链路所有需要传递给模型的信息
所以:
模型会根据输入的内容来进行输出,其中人设与回复逻辑会进行重点参考
如果预期输入的内容不存在,则需要调整上游链路的返回
整个链路的执行,依赖大模型的能力。大模型本身也是强依赖语言逻辑来执行的,因此如果您希望模型的输出符合预期,输入给模型的内容建议遵循以下要求:
- 上下文和背景
• 说明你要生成的内容的背景是什么。比如,生成商业文案、编程代码解释,或故事情节等。描述清楚背景能够帮助模型理解整体场景。
• 示例:对于产品介绍,可以开头说明产品类型、用户群体、使用场景等背景信息。
- 具体要求
• 提供详细而具体的需求描述,避免模糊的指令。包括内容长度、格式、风格等要求。
• 示例:“写一篇 500 字的科技博客文章,面向普通用户,简单解释区块链的概念。”
- 输出风格和语气
• 确定所需的语言风格和语气,比如“正式”“简洁”“幽默”等。不同语气会影响生成的内容风格。
• 示例:“用幽默风格解释‘多线程编程’的概念。”
- 示例和参考
• 提供示例或参考内容,模型能更准确地理解你的需求。你可以给出参考的句子、段落,甚至是类似的文章。
• 示例:“参考以下风格,解释智能合约的应用场景:‘智能合约像一位自动执行的见证人…’”
- 内容限制和排除项
• 说明不希望包含的内容,或者明确某些用词、主题等的限制,避免生成不合适的内容。
• 示例:“避免使用技术术语,尽量用日常语言解释。”
- 目标受众
• 指明生成内容的目标读者,如初学者、专家、青少年等。不同的目标受众决定了内容的复杂度和表述方式。
• 示例:“写给完全没有编程背景的读者。”
更多详细内容,可参考官网文档:https://www.coze.cn/docs/guides/set_prompt
如果您的插件调用场景非常复杂,需要十分清晰的描述提示词逻辑,否则大模型会难以准确识别。
可以参考使用工作流的意图识别节点和多 Agent 模式来拆分任务
-
意图识别节点:https://www.coze.cn/docs/guides/intent_recognition_node
-
多 Agent 官网文档:https://www.coze.cn/docs/guides/multiagent
模型回复速度慢
模型服务接入方舟公共资源池,会随着整体的服务情况产生波动。如您在性能速度上要求较高,可考虑切换轻量化的lite系列模型,除此以外,在人设与回复逻辑中约束模型生成的字数也可以让大模型更快的完成输出。
数据库功能使用
数据库功能处理链路介绍
- 用户输入
- 系统将用户输入转换成sql语句
- 使用sql语句去数据库中进行查询
- 大模型总结数据库返回的查询结果
调整方法
根据转换的sql语句可以协助定位问题原因
描述清楚数据库的字段名称,自然语言的转换依赖此描述来进行。
对话内容中描述清楚关键操作和对象
如何控制插件调用顺序
当前大模型能力每次只能调用一个工具(插件、工作流等)
插件、工作流、数据库等数据按固定顺序调用需要使用工作流功能
知识库不属于工具,在开启知识库强制调用的情况下,会优先参考知识库内容然后进行工具选择
长期记忆没有作用
- 确认长期记忆开启
- 勾选支持在prompt中调用
使用示例如下:
编排界面可选模型少
扣子专业版模型接入了方舟平台,可参考官网文档:https://www.coze.cn/docs/coze_pro/zv0tulcb 自行开通
方舟平台提供了丰富的模型,但并非所有模型都可以在扣子专业版中使用。如您在方舟中创建了接入点后仍无法在专业版的模型列表中选择,则为不支持。如有需要,您可以在售后中提交需求工单。
报错提示平台错误
智能体选择的模型不支持functioncall功能,需切换模型
火山方舟模型额度不足
扣子的对话计费中,包含了模型 tokens使用量计费
可通过以下两种方式进行充值
- 购买推理资源包进行抵扣
智能体回复当前调用插件XXX
问题原因:模型进行了正确的插件调用判断,但生成的插件所需参数错误。
解决方案:
- 修改插件所需参数的描述
- 对话内容中尽量完整,包含插件所需参数
- 更换最新版本的functioncall模型