99from dataclasses import dataclass , field
1010from typing import List , Dict , Tuple , Optional , Union , Any
1111from lightllm .common .req_manager import ReqManager
12+ from lightllm .common .image_cache_manager import image_cache_manager
1213from lightllm .utils .infer_utils import mark_start , mark_end
1314from lightllm .server .core .objs import Req , SamplingParams , FinishStatus , ShmReqManager
1415from lightllm .server .router .dynamic_prompt .radix_cache import RadixCache , TreeNode
@@ -131,6 +132,7 @@ def filter(self, finished_request_ids: List[int]):
131132
132133 free_req_index = []
133134 free_token_index = []
135+ image_uuid_list = []
134136 for request_id in finished_request_ids :
135137 req : InferReq = self .requests_mapping .pop (request_id )
136138 group_req_id = convert_sub_id_to_group_id (req .shm_req .request_id )
@@ -145,6 +147,10 @@ def filter(self, finished_request_ids: List[int]):
145147 # logger.info(f"infer release req id {req.shm_req.request_id}")
146148 req .shm_req .shm_infer_released = True
147149 self .shm_req_manager .put_back_req_obj (req .shm_req )
150+ if req .multimodal_params is not None and get_env_start_args ().disable_extra_process_for_multimodal :
151+ for img in req .multimodal_params ["images" ]:
152+ image_uuid_list .append (img ["uuid" ])
153+ image_cache_manager .filter (image_uuid_list )
148154
149155 free_token_index = custom_cat (free_token_index )
150156 self .req_manager .free (free_req_index , free_token_index )
0 commit comments