本文档主要涵盖常见的性能调优方法
前言
如您在使用智能体的过程中,出现响应慢,等待回复时间长等问题,可参考此文档
哪里慢-查看耗时
通过调试详情中的火焰图,可以看到整体链路下,每个节点的具体耗时
是否慢-异常判断
判断耗时较长的节点是否符合预期
插件节点
多次调用插件,确认插件节点的平均耗时是否符合插件介绍中的平均耗时
大模型节点
大模型节点接入了方舟平台,扣子默认使用公共资源池创建的接入点,会随着整体请求量的变化产生部分波动,其中:
输入tokens 影响首响应时间,对应promt_tokens
输出tokens 影响整体生成时间,对应completion_tokens
处理慢-调优方法
方法一:减少模型节点耗时
一般情况下,耗时主要产生在大模型节点
遵循最小可行原则:尽量减少使用耗时较长的大模型节点
如何做到以上原则?
1,判断是否需要使用大模型节点。
- 大模型 适合非结构化任务和模糊需求的分析与解决,更像是一位“广而浅”的通才。
- 编程擅长精准逻辑的执行和性能优化,是不可替代的核心能力。
举例:
-
如涉及到评论分析,联网内容整合,信息提取等场景,我们需要使用大模型节点来进行处理
-
如涉及到格式处理转换,固定格式下的内容原文提取等场景,我们可以依赖代码节点等实现
2,如何更加高效的使用大模型节点
减少大模型的输出
- 固定输出内容,制作内容映射,例如:分类任务中,让大模型对不同的分类,输出为1,2,3等数字内容,自行维护数字和分类字段的映射关系。让大模型从输出多个文字变为输出一个数字。
- 精简输出内容,如您不需要大模型输出过多的文字内容,您可以在提示词中补充精简回复等相关内容。
选择响应更快的模型
您可以尝试使用lite系列模型,能够进行更加快速的处理
方法二:做好心理预期
部分工作流复杂任务确实无法减少大模型的耗时,可以在模型节点前使用输出节点告知用户等待时间,避免用户误以为智能体卡死
方法三:开启流式输出
开启流式输出后,用户只需要等待响应时间结束(一般在2s以内),智能体即可开始逐token返回内容,可以给予用户更好的使用体验