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というツールで、テキストプロンプト、少サンプル例、プロンプトパターンを最適化できます。
関連
- プロジェクト
microsoft/promptflowLLM ベースの AI アプリケーションのエンドツーエンドサイクルを、プロトタイピングやプロンプトエンジニアリングから評価、プロダクションデプロイまで効率化する開発ツールスイートです。
- プロジェクト
chr15m/runprompt.prompt ファイルを実行するためのコマンドラインツール。プロンプトをバージョン管理可能なアーティファクトとして扱い、シェル経由で AI ワークフローを自動化できます。
- プロジェクト
microsoft/conductorConductor は、Microsoft がメンテナンスする CLI で、YAML で決定的でバージョン管理されたマルチエージェント AI ワークフローを定義し、GitHub Copilot や Anthropic Claude などのプロバイダーで実行できます。並列実行、サブワークフロー構成、ヒューマンインザループゲート、Web ダッシュボード、TUI フリートマネージャー、OpenTelemetry トレーシングを提供し、すべてワンライナースクリプトまたは標準の Python ツールでインストールできます。
- プロジェクト
Trampoline-AI/predict-rlmpredict-rlmは、大規模言語モデル(LLM)にサンドボックス化されたステートフルな実行環境を提供するPythonライブラリです。モデルはPythonコードの記述と実行、可変状態の保持、特定のサブモデルの呼び出し、およびツールやスキル(PDF処理、スプレッドシートなど)の利用が可能です。このフレームワークは観測可能性のために完全なトレースを記録し、そのトレースをGEPAのような最適化ツールに供給できます。文書分析、監査、スプレッドシートの自動化といった複雑な多段階ワークフローを対象としており、オプションのDockerサンドボックスや豊富なコールバックをサポートしています。
- プロジェクト
promptdriven/pdd`.prompt`ファイルをソースとして扱い、実装コードをレビュー可能なアーティファクトとして生成するプロンプトネイティブなプログラミングシステム。