POML 语法基础(Language Basics)

POML 语法基础(Language Basics)

参考官方文档:microsoft.github.io/poml/stable...

独立文件模式(Standalone .poml)

  • 最常用方式:创建以 .poml 为后缀的文件,使用接近 XML 的语法描述提示。
  • 顶层需要使用 <poml> 标签包裹全部内容,便于解析与渲染。

最小示例:

poml 复制代码
<poml>
  <p>Hello, world!</p>
</poml>

要点:

  • 文件后缀:.poml
  • 必须有顶层 <poml>,否则许多能力不可用。

Free Text 模式(不推荐)

  • 你也可以不写 <poml>,直接写普通文本,POML 会把它当作字符串处理。
  • 但当前存在多项限制:
    • 不能正确渲染任何使用尖括号包裹的"标签样"文本(如 <...>)。
    • 许多特殊字符不可用。
    • 无法使用 POML 的诸多"结构化"能力。
  • 因此官方建议:始终使用顶层 <poml>

基本术语

  • 标签(Tag):用尖括号 < > 包裹的元素标记,如 <p> 是开始标签,</p> 是结束标签。

  • 属性(Attribute):写在开始标签内的键值对,形如 name="value",为元素提供附加信息,例如:

    poml 复制代码
    <p speaker="human">Hello</p>

    其中 speaker 为属性名,"human" 为属性值。

  • 内容(Content):元素起止标签之间的文本或子元素,例如:

    poml 复制代码
    <p>Hello, world!</p>

    Hello, world! 即为 <p> 的内容。

转义字符(Escapes)

由于实现差异,POML 的转义语法与 HTML/XML 略有不同。以下为常用转义:

  • #quot; 表示 "
  • #apos; 表示 '
  • #amp; 表示 &
  • #lt; 表示 <
  • #gt; 表示 >
  • #hash; 表示 #
  • #lbrace; 表示 {
  • #rbrace; 表示 }

示例(在内容与属性值中使用转义):

poml 复制代码
<poml>
  <p>He said #quot;POML is cool!#quot; & smiled.</p>
  <p note="curly #lbrace;demo#rbrace; & quote #quot;ok#quot;">Escapes in attributes</p>
</poml>

提示:多数场景无需转义,但当遇到无法正常显示或被误解析的字符时,使用以上转义可避免问题。

实践建议

  • 始终以 <poml> 作为文件根元素;避免使用 Free Text 模式。
  • 保持标签闭合与缩进清晰,便于阅读与诊断。
  • 若内容中含有尖括号、引号、花括号、和号等,请使用转义。
  • 将结构(标签/组件)与内容区分,便于后续与样式/模板结合使用(见入门篇与快速上手篇)。

练习

  1. 将一段自由文本改写为标准 POML:
poml 复制代码
<!-- 原:Hello, world! -->
<poml>
  <p>Hello, world!</p>
</poml>
  1. 在属性与内容中同时使用转义,确保不会被误解析:
poml 复制代码
<poml>
  <p meta="use #lbrace;curly#rbrace; and #quot;quotes#quot;">Show <tags> as text with #lt; and #gt;</p>
</poml>
相关推荐
镰刀韭菜8 小时前
【AI4S】DrugChat:迈向在药物分子图上实现类似ChatGPT的功能
llm·图神经网络·预训练·gnn·ai4s·drugchat·药物分子图谱
山顶夕景2 天前
【LLM-RL】GSPO算法Group Sequence Policy Optimization
llm·强化学习·rlhf·gspo
余衫马2 天前
llama.cpp:本地大模型推理的高性能 C++ 框架
c++·人工智能·llm·llama·大模型部署
yaocheng的ai分身2 天前
A16Z 大佬 Alex Rampell《Software Is Eating Labor》演讲
llm
utmhikari2 天前
【测试人生】LLM赋能游戏自动化测试的一些想法
自动化测试·游戏·ai·大模型·llm·游戏测试
智泊AI2 天前
突然发现:大模型RAG优化思路真的好清晰!
llm
玩转AGI2 天前
【必收藏】12-Factor Agents:让大模型Agent从能跑起来到能用起来的企业级设计指南
人工智能·程序员·llm
数据智能老司机2 天前
建构 AI Agent 应用——保护代理式系统
架构·llm·agent
夫子3963 天前
【深度干货】Transformer推理优化完全指南:模型压缩、推理加速与硬件调优
人工智能·llm
智泊AI3 天前
终于有人把AI大模型训练过程讲明白了!!!
llm