最近在做一个基于LLM的简单Agent,用PyTorch加载了Qwen2.5-7B,每次调用模型进行工具调用或回复时,显存都会增加几百MB。我查了一下,可能是每次推理时都重新创建了计算图,或者历史对话拼接后没有释放缓存。我试了torch.no_grad()和清空缓存,但感觉还是不对。有没有大佬遇到过类似问题?是用kv cache复用,还是直接把历史对话截断到固定长度?另外,如果Agent需要调用外部API(比如搜索),返回结果再喂回模型,这中间怎么管理显存才不会崩?求指点,谢谢!