通話を終了

エージェントがユーザーとの通話を自動的に終了できるようにします。

通話終了ツールは、ElevenLabsダッシュボードで作成したエージェントにはデフォルトで追加されています。 APIまたはSDKで作成したエージェントで通話終了ツールを有効にするには、エージェント設定でシステムツールとして手動で追加する必要があります。詳細は、以下のAPI実装 を参照してください。

通話を終了

概要

通話終了ツールを使用すると、会話型エージェントがユーザーとの通話を終了できます。これは、通話を終了するタイミングや方法を柔軟に設定できるシステムツールです。

機能

  • デフォルトの動作:ユーザー定義のプロンプトなしでも動作し、会話が自然に終了したタイミングで通話を終了できます。
  • カスタムプロンプト:通話を終了する条件を指定できます。例:
    • ユーザーが「さようなら」と言った場合に通話を終了する。
    • 特定のタスクが完了したら通話を終了する。

目的:適切な条件が満たされたときに、会話を自動的に終了します。

トリガー条件:LLMは以下の場合にこのツールを呼び出します。

  • 主なタスクが完了し、ユーザーが満足している
  • 双方の合意により、会話が自然な結論に達した
  • ユーザーが会話を終了したいと明示的に示した

パラメータ:

  • reason(string、必須):通話を終了する理由
  • message(string、任意):通話終了前にユーザーへ送信する別れのメッセージ

関数呼び出し形式:

{
"type": "function",
"function": {
"name": "end_call",
"arguments": "{\"reason\": \"Task completed successfully\", \"message\": \"Thank you for using our service. Have a great day!\"}"
}
}

実装:エージェント設定でシステムツールとして設定します。LLMは、この関数をいつ呼び出すかについての詳細な指示を受け取ります。

API実装

API経由でエージェントを作成する際は、エージェント設定に通話終了ツールを追加できます。システムツールとして定義してください:

from elevenlabs import AgentConfig, ConversationalConfig, ElevenLabs
elevenlabs = ElevenLabs(api_key="YOUR_API_KEY")
response = elevenlabs.conversational_ai.agents.create(
conversation_config=ConversationalConfig(
agent=AgentConfig(
prompt={
"built_in_tools": {
"end_call": {
"type": "system",
"name": "end_call",
# Optional: customize when the tool should be triggered
"description": "",
"params": {"system_tool_type": "end_call"},
}
}
},
),
),
)
デフォルトの通話終了プロンプトを使用するには、descriptionを空欄のままにしてください。

プロンプト例

例1:基本的な通話終了

End the call when the user says goodbye, thank you, or indicates they have no more questions.

例2:カスタムプロンプトによる通話終了

End the call when the user says goodbye, thank you, or indicates they have no more questions. You can only end the call after all their questions have been answered. Please end the call only after confirming that the user doesn't need any additional assistance.