メインコンテンツまでスキップ
バージョン: 次へ

OpenAITool

OpenAITool クラスは会話の途中でOpenAI モデルによって呼び出されうるツールを表します。 ツールを使用するとAI に特定の機能を実行させたり、外部システムとやりとりしたり、情報を取得したりといったことが可能になります。

ツール呼び出しに応答する方法については、OpenAIMessage を参照して下さい。

注意: OpenAIChatHelperautoHandleToolCalls を有効化して使用した場合には、ツール呼び出しは自動的に管理されます。

プロパティ

ルートプロパティ

プロパティデフォルト説明
typeText"function"ツールのタイプ。 現在サポートされているのは"function""custom"、そしてその他のビルトインタイプです。
strictBooleanfalse関数の引数に対して厳格なスキーマ検証を強制するかどうかを指定します。

共通プロパティ

プロパティ説明
名称Textツール名。識別子として機能します。
descriptionTextLLM がツールをいつ使うかを決定する手助けとなる、ツールの説明。

関数特有のプロパティ

プロパティ説明
parametersObjectJSON スキーマフォーマットを使用した関数の引数宣言。

コンストラクター

new()

new(object : Object) : OpenAITool

引数説明
optionsObjectツールの設定オブジェクト
戻り値OpenAIToolOpenAITool の新規インスタンス

新しい OpenAITool インスタンスを作成します。 このコンストラクターは簡易フォーマットとOpenAI API フォーマットの両方を受け入れます。

サポートされるフォーマット

簡易フォーマット:

var $tool := cs.OpenAITool.new({ \
name: "get_weather"; \
description: "Get current weather for a location"; \
parameters: { \
type: "object"; \
properties: { \
location: {type: "string"; description: "City name"} \
}; \
required: ["location"] \
} \
})

OpenAI API フォーマット:

var $tool := cs.OpenAITool.new({ \
type: "function"; \
strict: True; \
function: { \
name: "get_weather"; \
description: "Get current weather for a location"; \
parameters: { \
type: "object"; \
properties: { \
location: {type: "string"; description: "City name"} \
}; \
required: ["location"] \
} \
} \
})

チャット補完との統合

ツールは通常OpenAIChatCompletionsParameters.tools プロパティで使用されます:

var $parameters := cs.AIKit.OpenAIChatCompletionsParameters.new({ \
model: "gpt-4o-mini"; \
tools: [$tool1; $tool2; $tool3] \
})

注意: プレーンなオブジェクトを直接渡すこともできます - 渡したオブジェクトは自動的にOpenAITool インスタンスに変換されます。 明示的に OpenAITool オブジェクトを作成する必要はありません。

参照