Excluir Sessões
Exclua proativamente uma sessão para melhor privacidade e escalabilidade.
O ADK usa uma sessão para rastrear o contexto de uma execução, incluindo o suporte a conversas de várias voltas e chamadas da ferramenta de função local.
Se você não excluir explicitamente uma sessão, ela será excluída automaticamente após o tempo de vida (TTL) expirar. O TTL padrão é 24 horas. No entanto, esse comportamento pode não se adequar ao seu caso de uso. Por exemplo, por motivos de privacidade, talvez você queira excluir uma sessão imediatamente após o término da conversa.
Ou seu agente suporta um grande número de usuários simultâneos, caso em que você pode querer excluir sessões proativamente para liberar recursos. Um agente pode ter no máximo 800 sessões por cota padrão, portanto, para evitar atingir esse limite, você poderá excluir sessões proativamente se seu aplicativo puder decidir quando uma sessão não será mais necessária.
Python
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()
Java
public static void main(String[] args) throws Exception {
Agent agent = Agent.builder()
.client(agentClient)
.agentEndpointId(AGENT_ENDPOINT_ID)
.instructions("You perform calculations using tools provided.")
.tools(Arrays.asList(new SimpleCalculatorToolkit()))
.build();
agent.setup()
final String input = "What is the square root of 475695037565?";
RunResponse response = agent.run(input);
agent.deleteSession(response.getSessionId());
}
Como alternativa, você pode excluir a sessão após a conclusão da execução, definindo delete_session=True
no método run
.
Python
def main():
# Ask ADK to auto delete the session after the run completes
response = agent.run(input, delete_session=True)
if __name__ == "__main__":
main()
Java
public static void main(String[] args) throws Exception {
final RunOptions runOptions = RunOptions.builder().deleteSession(true).build();
RunResponse response = agent.run(input, runOptions);
}