掘金 人工智能 09月04日
POML Python Native Prompt 参考指南
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文基于 POML 官方文档页面“Python POML Native Prompt”,聚焦 poml.prompt.Prompt 的类概述、上下文管理、渲染与调试方法,以及若干消息/结构化标签的用法与示例。所有信息均直接整理自官方内容,不做额外推断。

🔍 poml.prompt.Prompt 继承自 _TagLib,用于构建基于 ElementTree 的 XML 结构,并支持上下文管理(context-managed tags),位于 python/poml/prompt.py 文件。

📄 内部维护 root_elements(根级元素列表)与 current_parent_stack(当前打开标签的父元素栈),通过 tag(tag_name, **attrs) 返回隐式的双端标签处理器 _ImplicitDualTagHandler(用于 with 语法管理标签的进入/退出)。

🔄 render(chat=True, context=None, stylesheet=None) 渲染最终 XML,内部先调用 _generate_xml_string(pretty=False) 得到紧凑字符串,再调用 poml(final_xml, context=context, stylesheet=stylesheet, chat=chat) 返回结果;dump_xml() 返回美化后的 XML 字符串,便于调试。

🚪 __enter__() 进入构建上下文,可在多个 with 块中复用同一个 Prompt 实例,每次进入会重置“当前打开元素栈”,但保留已创建的根元素,允许分段追加;__exit__(exc_type, exc_val, exc_tb) 退出 with 块时的清理,若存在未关闭的标签且无异常,将发出警告并清空打开元素栈。

🔠 text(content) 向当前打开的 XML 元素添加文本,若没有打开的标签会报错;对于含子元素的混合内容,文本会追加到最近子元素的 tail;否则写入元素的 text。

🗨️ system_message(**kwargs) 将内容包装为系统消息;human_message(**kwargs) 将内容包装为用户消息;ai_message(**kwargs) 将内容包装为 AI 消息;conversation(messages=None, selectedMessages=None, **kwargs) 展示 system、human、ai 之间的会话,messages 为消息列表,每条包含 speaker 与 content 字段。

💡 hint(caption=None, captionSerialized=None, captionStyle=None, captionTextTransform=None, captionColon=None, **kwargs) 在提示任意位置提供简短的提示或解释,caption 默认 'Hint',captionStyle 默认 'bold'。

🚫 strikethrough(**kwargs) 删除线(<s>、<strike>;)表示删除或无效文本(用于“markup”语法)。

📦 sub_content(**kwargs) <section> 渲染嵌套内容(常跟在标题后),内部标题会自动降级一个层级。

POML Python Native Prompt 参考指南

导语

本文基于 POML 官方文档页面“Python POML Native Prompt”,聚焦 poml.prompt.Prompt 的类概述、上下文管理、渲染与调试方法,以及若干消息/结构化标签的用法与示例。所有信息均直接整理自官方内容,不做额外推断。

文档链接:microsoft.github.io/poml/stable…


类概述:poml.prompt.Prompt


渲染与调试


上下文管理与文本


消息与会话相关标签


结构与格式标签(节选)


其他说明


总结

poml.prompt.Prompt 提供基于 ElementTree 的 XML 构建能力,并以上下文管理的方式组织标签,便于构造结构化、可读的 POML 提示。文档展示了渲染/调试方法与多种标签(系统/用户/AI 消息、会话、提示、删除线、嵌套内容等)的定义与示例。实际使用时,可按需组合这些标签,并通过 render 输出最终结果或用 dump_xml 进行调试。

参考文档:

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

POML Python Native Prompt XML ElementTree context management rendering debugging tags messages
相关文章