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というツールで、テキストプロンプト、少サンプル例、プロンプトパターンを最適化できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト