Incrase number of images due to lower than expected context usage

This commit is contained in:
Nicolas Mowen 2025-10-30 06:09:59 -06:00
parent b322b48b82
commit d341a26fa9

View File

@ -51,28 +51,26 @@ class ReviewDescriptionProcessor(PostProcessorApi):
def calculate_frame_count( def calculate_frame_count(
self, image_source: ImageSourceEnum = ImageSourceEnum.preview self, image_source: ImageSourceEnum = ImageSourceEnum.preview
) -> int: ) -> int:
"""Calculate optimal number of frames based on context size and image source.""" """Calculate optimal number of frames based on context size and image source.
Recordings (480p): ~250 tokens/image, capped at 20 frames
Previews (180p): ~100 tokens/image, capped at 20 frames
Targets 70-80% context utilization while keeping inference time reasonable.
"""
context_size = self.genai_client.get_context_size() context_size = self.genai_client.get_context_size()
if image_source == ImageSourceEnum.recordings: if image_source == ImageSourceEnum.recordings:
# With recordings at 480p resolution (480px height), each image uses ~200-300 tokens if context_size > 12000:
# This is ~2-3x more than preview images, so we reduce frame count accordingly return 20
# to avoid exceeding context limits and maintain reasonable inference times
if context_size > 14000:
return 16
elif context_size > 12000:
return 14
elif context_size > 10000: elif context_size > 10000:
return 12 return 18
elif context_size > 6000: elif context_size > 6000:
return 10 return 14
elif context_size > 4000: elif context_size > 4000:
return 8 return 10
else: else:
return 6 return 6
else: else:
# With preview images (180px height), each image uses ~100 tokens
# We can send more frames since they're lower resolution
if context_size > 10000: if context_size > 10000:
return 20 return 20
elif context_size > 6000: elif context_size > 6000: