入力イベント
入力イベントは、Cartesia ハーネスからエージェントが受け取るイベントです。すべての入力イベントには、完全な会話履歴を含むオプションのhistory フィールドがあります。history が None の場合、そのイベントは履歴リスト内で使用されています。history にリストが含まれている場合、そのイベントには完全な会話コンテキストが添付されています。
通話ライフサイクル
ユーザーターンイベント
エージェントターンイベント(履歴内)
ハンドオフイベント
カスタムイベント
クライアントアプリケーションがコールストリームに
custom WebSocket イベントを送信したときに受信します。イベントには、クライアントが含めた任意のキーと値のペアを持つ metadata 辞書が含まれます:
出力イベント
出力イベントは、会話を制御するためにエージェントが yield(生成)するイベントです。発話
AgentSendText でメッセージを送信できます。
interruptible フラグを false に設定できます。
通話制御
動的設定
AgentUpdateCall を使って、会話の途中で通話設定(ボイス、発音、言語)を更新します:
すべてのフィールドはオプションで、設定されたフィールドのみが更新されます。
ツールイベント
LlmAgent がツール実行を追跡するために発行します:
ロギング
カスタムイベント
エージェントからハーネスに任意のメタデータを送信します:UserCustomSent と組み合わせて、メタデータの双方向交換を実現できます。
ボイスと言語の制御
通話の途中でボイスや音声認識言語を変更します:language フィールドは ASR(音声認識)言語を設定します。Ink STT がサポートする任意の言語コード、または自動言語検出のための "multilingual" を指定できます。
イベント履歴
すべての入力イベントには、会話履歴を含むオプションのhistory フィールドがあります。history が None の場合、そのイベントは履歴リスト内にあります。リストが含まれている場合は、完全な会話コンテキストが添付されています。LlmAgent はこれを自動的に処理するため、履歴を理解する必要があるのはカスタムエージェントを構築する場合のみです。
履歴へのアクセス
履歴に含まれるイベントタイプ
履歴に含まれるイベントタイプ
履歴リストに含まれるイベントは、冗長なネストを避けるため
history=None を持ちます。イベントタイプは通常の入力イベントと同じです:LlmAgent による履歴の処理
LlmAgent による履歴の処理
LlmAgent はイベント履歴を自動的に LLM メッセージに変換します:- ユーザーメッセージ:
UserTextSentイベントから - アシスタントメッセージ:
AgentTextSentイベントから - ツール呼び出し:
AgentToolCalledおよびAgentToolReturnedイベントから
カスタムエージェント: 履歴の利用
カスタムエージェント: 履歴の利用
LlmAgent を使わずにカスタムエージェントを構築する場合、コンテキスト、要約、パターン検出のために履歴を使用できます: