Appearance
Coze教程 - 优化大模型响应时间
URL: https://www.coze.cn/open/docs/tutorial/llm_response_time
核心内容
本文介绍如何通过压缩方法名、自定义编码、避免嵌套结构以及使用中文数字替代阿拉伯数字等方式,减少输出的 Token 数量,从而有效降低大模型的响应时间。你可以根据实际应用场景选择合适的优化策略,提升大模型的性能和用户体验。
大模型响应时间计算公式
大模型响应时间计算公式如下:
bash
latency = ttft + output_token_num * tpot其中:
- ttft(Time To First Token):第一个 Token 响应的时间,即模型生成第一个输出 Token 所需的时间。该值主要由大模型的架构和部署环境决定,通常难以直接优化。
- output_token_num:大模型输出的 Token 数量。减少输出的 Token 数量可以直接降低响应时间。
- tpot(Time Per Output Token):大模型在首个 Token 输出后,后续输出每个 Token 所需的时间。该值同样取决于大模型的性能和部署环境。
因此,你可以通过优化大模型输出的 Token 数量,来降低大模型的响应时间。
优化手段
1. 压缩方法名和参数
压缩工作流或插件工具的方法名和参数。
举例:将工具的方法名 getCountry 压缩为 gc,getWeather 压缩为 gw。
Token 对比:Token 数量从 3 个减少到 1 个。
<!-- TODO: 图片待补充 --> <!-- TODO: 图片待补充 -->2. 自定义编码
将意图识别结果编码为简化的数字或符号。
举例:你是一个意图识别专家,如果用户需要联网搜索,返回 1,如果用户需要英语陪聊,返回 2。
Token 对比:Token 数量从 2 个减少到 1 个。
<!-- TODO: 图片待补充 --> <!-- TODO: 图片待补充 -->3. 不使用 JSON、XML 等嵌套结构
使用自定义的格式来代替 JSON、XML 的嵌套结构,例如使用管道符、CSV 格式等。
举例:将以下 JSON 格式转换为管道符格式:
json
{
"func":"getWeather",
"args":{
"city":"shenzhen",
"date":"2024-12-12"
}
}管道符 | 的格式:
bash
getWeather|shenzhen|2024-12-12Token 对比:Token 数量从 48 个减少到 17 个。
<!-- TODO: 图片待补充 --> <!-- TODO: 图片待补充 -->4. 使用中文替代阿拉伯数字
使用中文数字替代阿拉伯数字。
举例:将 2025-03-20 转换为 二五年三月二十日。
Token 对比:Token 数量从 10 个减少到 5 个。
<!-- TODO: 图片待补充 --> <!-- TODO: 图片待补充 -->说明:你可以通过方舟 Token 计算器预估输入的内容需要消耗的 Token。
实战案例
以下是天气参数提取案例的对比情况。通过优化系统提示词,将阿拉伯数字改为中文,并把 JSON 嵌套结构换成管道符格式后,大模型的输出效果、消耗的 Token 数量和响应时间都发生了变化。
优化前
系统提示词:
markdown
# 技能
你是一个信息提取大师,你需要从用户的输入中提取用户的城市,以及要查询的天气的日期。
# 注意
日期需要结合"当前时间"来输出 end_time 和 start_time,如果只是查询某一天的天气,则 end_time 和 start_time 为同一日期
现在真实时间:2025-03-20
## 输出
输出 json:
{
"city": "",
"start_time": "",
"end_time": ""
}大模型的输出:
json
{
"city":"深圳",
"start_time":"2025-03-20",
"end_time":"2025-03-20"
}消耗的 Token:消耗的 Token 数量为 47。
<!-- TODO: 图片待补充 -->响应时间:1,175 ms(按 TPOT 25ms 计算)
优化后
系统提示词:
markdown
# 技能
你是一个信息提取大师,你需要从用户的输入中提取用户的城市,以及要查询的天气的日期。
# 注意
日期需要结合"当前时间"来输出 end_time 和 start_time,如果只是查询某一天的天气,则 end_time 和 start_time 为同一日期
现在真实时间:二五年三月二十日
## 输出
将结果使用 | 按照如下顺序拼接:城市、开始日期、结束日期
### 示例 1
输入:深圳天气
输出:深圳|二五年三月二十日|二五年三月二十日
### 示例 2
输入:河南郑州昨天的天气
输出:郑州|二五年三月十九日|二五年三月十九日大模型的输出:
bash
深圳|二五年三月二十日|二五年三月二十日消耗的 Token:消耗的 Token 数量为 13。
<!-- TODO: 图片待补充 -->响应时间:325 ms(按 TPOT 25ms 计算)
配置示例
扣子大模型节点的配置和运行示例如下图所示。
<!-- TODO: 图片待补充 -->Status: Manual extraction - Needs cleaning and formatting
