POML的模板引擎提供三类核心动态功能:
- 变量系统:通过<let name=”var”>定义变量,在{{var}}处引用。例如在客服机器人中,可将用户名字存储为变量实现个性化响应。
- 循环控制:用<for each=”item” in=”list”>处理批量数据。典型应用如批量生成产品描述:遍历JSON数据中的商品列表,自动填充到提示模板中。
- conditional logic:通过<if condition=”expr”>实现分支选择。例如教学场景中,根据学生年龄变量动态切换解释深度。
一个综合应用示例是自动化报告生成:
<let name="metrics" type="json">[...]</let> <for each="m" in="metrics"> <if condition="m.value > threshold"> **重要发现**:{{m.name}}指标异常(当前值:{{m.value}}) </if> </for>
This answer comes from the articlePOML: A Novel Markup Language for Orchestrating and Managing Large Model Prompt WordsThe