You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建与模型关联的里程碑百分比列表以计算企业进度差值

业务模型里程碑差值计算实现方案

需求说明

  • 关联企业名称与里程碑百分比列表,计算企业当前进度与相邻两个里程碑的差值
  • 支持用户自定义配置里程碑列表,无需调整核心计算逻辑

架构实现方案

1. 配置层解耦,支持自定义参数

将里程碑列表设为可配置的业务参数,不做硬编码:

  • 为每个企业单独设置custom_milestones字段存储专属里程碑列表,无自定义配置的企业默认调用全局统一里程碑参数
  • 配置入口内置校验逻辑,自动对输入的里程碑数值排序、过滤重复/无效值,避免后续计算出错

2. 封装独立公共计算函数

把差值计算逻辑封装为公共函数,所有业务场景统一调用,示例代码如下:

def calculate_milestone_gap(company_name: str, current_progress: float, milestones: list) -> str:
    # 自动排序里程碑,兼容用户乱序输入的情况
    sorted_milestones = sorted(milestones)
    # 匹配相邻的上下里程碑
    lower_milestone = max([m for m in sorted_milestones if m <= current_progress], default=None)
    upper_milestone = min([m for m in sorted_milestones if m >= current_progress], default=None)
    
    # 拼接返回结果
    result_parts = []
    if upper_milestone:
        result_parts.append(f"is {(upper_milestone - current_progress):.1f}% away from the {upper_milestone}% milestone")
    if lower_milestone:
        result_parts.append(f"{(current_progress - lower_milestone):.1f}% above the {lower_milestone}% milestone")
    
    return f"{company_name} {',and '.join(result_parts)}."

3. 调用效果示例

输入参数

企业名称:Company A
当前进度:9.5
里程碑列表:[5, 10, 15, 20, 25]

输出结果
"Company A is 0.5% away from the 10% milestone, and 4.5% above the 5% milestone."

自定义配置使用说明

用户需要调整里程碑列表时,直接更新对应企业的custom_milestones字段值即可,核心逻辑不需要做任何修改,支持为不同类型的企业配置完全独立的里程碑体系,互不影响。

内容的提问来源于stack exchange,提问作者OperGo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:06:04