LLM ツール用の JSON 形式
ツールを共有するためのポータブルな方法
はじめに
ツールをプログラムやツールエディタにすぐに追加できる形で共有することは、ツールとその使用方法を表現する標準的な方法があれば大幅に改善されるでしょう。以下のような機能を有効にしたいと考えています:
ツールを視覚的に表現するためのアイコン
プロンプトのためのメタデータ:
ツールの名前
ツールの説明
ツールの使用方法
ツール文字列に含まれるプレースホルダパラメータ
期待される出力
バージョニングとタイムスタンプ。
JSON 書式規定
私たちのサンプルJSONは ここからダウンロードできます。
フィールドの説明
model_prompt: GPTモデルのプロンプトを含む文字列です。
metadata: GPTモデルのプロンプトに関する追加情報を含むオブジェクトで、以下のサブフィールドを含みます:
model_version: 使用されるGPTモデルのバージョンを示す文字列です。
creator: GPTモデルのプロンプトの作成者に関する情報を含むオブジェクトで、以下のサブフィールドを含みます:
name: 作成者の名前を表す文字列です。
email: 作成者のメールを表す文字列です。
organization: 作成者が所属する組織を表す文字列です。
parameters: GPTモデルのパラメータに関する情報を含むオブジェクトで、以下のサブフィールドを含みます:
temperature: 出力のランダム性を制御するために使用される浮動小数点数です。
max_tokens: 生成されたレスポンスの最大トークン数を示す整数です。
top_p: 核サンプリングの確率閾値を表す浮動小数点数です。
frequency_penalty: データセット内でのその頻度に基づいてトークンに適用されるペナルティを表す浮動小数点数です。
presence_penalty: プロンプト内での新たなトークンの存在に基づいて適用されるペナルティを表す浮動小数点数です。
timestamp: GPTモデルのプロンプトが生成または最終更新された日時をISO 8601形式の文字列で表します。
expected_output (Optional):
model_prompt
からの予想出力に関連するフィールドを含むオブジェクトで、以下のサブフィールドを含みます:type:
model_prompt
から期待される出力の型を示す文字列です。format (Optional): 期待される出力の形式を表す文字列です(該当する場合)。
language (Optional): 型が
code
の場合、期待される出力のプログラミング言語を表す文字列です。allowed_values (Optional): 型が
limited
の場合、許可された出力値の配列を含む文字列のリストです。
variables (Optional): f-stringスタイルで
model_prompt
文字列に挿入される可能性のある変数を含むリストです。各変数には以下のサブフィールドがあります:name: 変数名を表す文字列です。
type: 変数の型を示す文字列です。現在、
type
の可能な値は、デフォルトの変数にはtext
、選択変数にはsingle-select
またはmulti-select
です。description: 変数の説明を示す文字列です。使用法や例も含みます。
default: 変数のデフォルト値を示す値です。この値は、
type
がtext
またはsingle-select
の場合には文字列で、multi-select
の場合には文字列の配列です。allowed_values: 変数の型が
single-select
またはmulti-select
の場合、許可された値のリストを含む文字列の配列です。
avatar (Optional): プロンプトのアバターやアイコンとして機能するグラフィックイメージに関連するフィールドを含むオブジェクトで、以下のサブフィールドを含みます:
avatar_type: 含まれるアバターデータの型を指定する文字列です。
avatar:
avatar_type
がurl
の場合は画像へのURLを含む文字列、またavatar_type
がbase64
の場合は画像を表すbase64エンコードされた文字列です。
prompt_name (Optional): プロンプトの名前を表す文字列です。
description (Optional): ツールおよびその目的について簡単に説明する文字列です。
usage_notes (Optional): 作成者からのツールの使用法や特定の考慮事項に関する自由形式のメモを含む文字列です。
metadata
オブジェクト内にexpected_output
オブジェクトを追加することで、model_prompt
からの予想出力の形式を指定できます。期待される出力の型に応じて、expected_output
オブジェクト内に関連するサブフィールドを含めることができます。
metadata
オブジェクト内に別のvariables
リストを追加することで、f-stringスタイルでmodel_prompt
文字列に挿入される可能性のある変数のフィールドを含めることができます。
プロンプトのためのアバターまたはアイコンとして機能するグラフィック画像を含めるには、metadata
オブジェクト内にavatar
フィールドを追加できます。
metadata
オブジェクト内にexpected_output
、variables
、avatar
、prompt_name
、description
、およびusage_notes
フィールドを含めることで、プロンプトに関する全ての文脈情報をひとつの場所に保持することができ、管理や理解が容易になります。
JSONオブジェクトの上位レベルでversion
フィールドを使用して、全体的なJSONファイルのバージョンを明示的に追跡することができます。
最終更新