client_tool_call イベントを送信します。関数の実行後、応答が必要な場合は、その接続されたクライアントが client_tool_result をサーバーに送信します。
クライアントツールを定義する
POST /v1/agents/tools でツールを作成し、その ID を config.tools でアタッチします。共有の実行設定についてはツールを参照してください。
パラメータ
parameters は JSON Schema のオブジェクトである必要があります。プロパティには string、integer、number、boolean、またはこれらのスカラー型のいずれかの配列を使用できます。string プロパティ内で enum を使用すると、許可される文字列値を列挙できます。モデルが必ず提供すべき値は required で指定します。
レスポンスの挙動
expects_response: trueにすると、エージェントは同じtool_call_idを持つclient_tool_resultを待ちます。結果が会話に影響する場合に使用します。expects_response: falseにすると、ディスパッチ後にツールが完了します。エージェントが確認する必要のないクライアント側アクションに使用します。
expects_response が true の場合、Cartesia は最大 response_timeout_secs の間、結果を待ちます。結果が届かない場合、Cartesia は自動的に Tool call timed out を LLM に渡します。
接続されたクライアントが自身の失敗を報告するには、is_error: true と、任意の error_type を含む結果を送信します。
ツール呼び出しを処理する
is_error: true と、LLM が対処できる短い result を送信してください。LLM が受け取るのは result です。任意の error_type には、timeout のような最大 256 UTF-8 バイトの自由形式の文字列を指定できます。これより長い値の場合も結果は破棄されます。完全なイベントスキーマについては WebSocket イベントリファレンスを参照してください。