IBM/prompt-declaration-language
Prompt Declaration Language (PDL) is a declarative prompt programming language.
解决的问题
解决难以创建可靠且可组合的 LLM 提示词,并轻松集成到软件系统中的问题。与硬编码提示词不同,它提供了一种结构化、声明式的管理方式,降低了提示工程的脆弱性。
工作原理
PDL 使用基于 YAML 的声明式语言来指定提示模板、模型调用和逻辑。CLI 工具会解析这些程序,累积消息并发送给托管或本地模型(例如通过 Ollama 提供的模型)。它支持变量、条件、循环和函数,并可直接在提示流程中集成 Python 代码执行和 REST API 调用。
适用人群
需要构建复杂 LLM 驱动应用,并希望采用结构化方法进行提示工程、调试以及与传统规则系统集成的开发者。
主要亮点
- 声明式提示:使用 YAML 定义提示流程,使其比原始字符串更易于管理。
- 集成控制流:支持变量、循环和条件,实现动态提示生成。
- 混合执行:结合 LLM 调用与原生 Python 代码执行和 API 调用。
- 开发者工具:包含 Python SDK、用于交互式调试和实时编程的 GUI,以及模型 I/O 的类型检查功能。
- 提示优化:提供 AutoPDL 工具,用于优化文本提示、少样本示例和提示模式。
相关
- 项目
- 项目
- 项目
- 项目
- 项目