diff --git a/astrbot/core/provider/sources/gemini_source.py b/astrbot/core/provider/sources/gemini_source.py index 038d57751..8600d3e9f 100644 --- a/astrbot/core/provider/sources/gemini_source.py +++ b/astrbot/core/provider/sources/gemini_source.py @@ -264,15 +264,16 @@ class ProviderGoogleGenAI(Provider): content_num = len(gemini_contents) for i in range(content_num): expected_type = types.UserContent if i % 2 == 0 else types.ModelContent - if not isinstance(gemini_contents[i], expected_type): - for j in range(i + 1, content_num): - if isinstance(gemini_contents[j], expected_type): - logger.debug(f"交换索引 {i} 与 {j}") - gemini_contents[i], gemini_contents[j] = ( - gemini_contents[j], - gemini_contents[i], - ) - break + if isinstance(gemini_contents[i], expected_type): + continue + for j in range(i + 1, content_num): + if isinstance(gemini_contents[j], expected_type): + logger.debug(f"交换索引 {i} 与 {j}") + gemini_contents[i], gemini_contents[j] = ( + gemini_contents[j], + gemini_contents[i], + ) + break return gemini_contents