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 工具,用於優化文字提示、少樣本範例與提示模式。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案