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

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト