[Bug] Fix the Image Input of Batch Generation #1579
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
When using the OpenAI API for batch generation, all prompts receive the same image, specifically the last image in the batch. Upon investigation, I discovered a bug in
openai_api/adapter.py
:Issue in
v1_chat_generate_request
(line 824): Theimage_data_list
gathers all images for the batch. However, on line 938, the variableadapted_request = GenerateReqInput(...)
incorrectly usesimage_data
(a temporary variable inside the loop) as an argument, which leads to all prompts receiving the last image in the batch.Additionally, in
srt/managers/io_struct.py
, line 136, theself.image_data
will duplicatenum
times, preventing any warning or indexing error but causing incorrect behavior.Modifications
image_data_list
inv1_chat_generate_request
to ensure each prompt receives the correct image from the batch.Checklist