セッションの削除
セッションを事前に削除して、プライバシーとスケーラビリティを向上させます。
ADKでは、セッションを使用して、マルチターン会話のサポートやローカル機能ツールの起動など、実行のコンテキストを追跡します。
セッションを明示的に削除しない場合、その存続時間(TTL)が期限切れになると、セッションは自動的に削除されます。デフォルトのTTLは24時間です。ただし、この動作はユースケースに合わない場合があります。たとえば、プライバシ上の理由から、会話が終了した直後にセッションを削除する場合があります。
また、エージェントは多数の同時ユーザーをサポートしているため、セッションを事前に削除してリソースを解放することもできます。エージェントは、デフォルト割当て当たり最大800セッションを保持できるため、この制限に達しないように、セッションが不要になったタイミングをアプリケーションが決定できる場合は、事前にセッションを削除できます。
def main():
agent = Agent(
client=client,
agent_endpoint_id="ocid1.genaiagentendpoint...",
instructions="You are a helpful assistant that can perform calculations.",
tools=[CalculatorToolkit()]
)
agent.setup()
input = "What is the square root of 81?"
response = agent.run(input)
# You explicitly delete the session used by the last run
agent.delete_session(response.session_id)
if __name__ == "__main__":
main()
または、run
メソッドでdelete_session=True
を設定して、実行の完了後にセッションを削除できます。
def main():
# Ask ADK to auto delete the session after the run completes
response = agent.run(input, delete_session=True)
if __name__ == "__main__":
main()