weave.StringPrompt または weave.MessagesPrompt クラスを使用できます。より複雑な要件がある場合は、それらのクラス、または基底クラス weave.Prompt をサブクラス化し、format method をオーバーライドできます。
weave.publish でプロンプトを公開すると、Weave プロジェクトの Prompts ページ に表示されます。
StringPrompt
StringPrompt は、システムメッセージ、ユーザーのクエリ、または LLM への単独のテキスト入力として使用できる単一文字列のプロンプトをログします。複数メッセージの会話のような複雑さが不要な場合に、個別のプロンプト文字列を管理するには StringPrompt を使用することをおすすめします。
- Python
- TypeScript
MessagesPrompt
MessagesPrompt を使うと、複数ターンの会話やチャットベースのプロンプトをログできます。これは、会話全体の流れを表すメッセージオブジェクトの配列 (“system”、“user”、“assistant” などのロールを含む) を保存します。複数のメッセージにまたがってコンテキストを維持する必要があるチャットベースの LLM や、特定の会話パターンを定義したい場合、再利用可能な会話テンプレートを作成したい場合に使用することを推奨します。
- Python
- TypeScript
プロンプトのパラメーター化
StringPrompt と MessagesPrompt はどちらも、パラメーター化によって動的なコンテンツをサポートしています。これにより、プレースホルダー ({variable} 構文を使用) を含む柔軟で再利用可能なプロンプトテンプレートを作成し、実行時に異なる値を埋め込めます。これは、一貫した構造を保ちながら、異なる入力、ユーザーデータ、またはコンテキストに応じてプロンプトを適応させる必要があるスケーラブルなアプリケーションを構築する際に役立ちます。format() メソッドは、これらのプレースホルダーを実際の値に置き換えるためのキーと値のペアを受け取ります。
- Python
- TypeScript
MessagesPrompt でも同様に機能します。
- Python
- TypeScript