@@ -130,13 +130,20 @@ def test_chat_google_genai_invoke_with_image() -> None:
130130 """Test invoke tokens with image from ChatGoogleGenerativeAI."""
131131 llm = ChatGoogleGenerativeAI (model = _IMAGE_OUTPUT_MODEL )
132132
133- result = llm .invoke (
134- "Generate an image of a cat. Then, say meow!" ,
135- config = dict (tags = ["meow" ]),
136- generation_config = dict (
137- top_k = 2 , top_p = 1 , temperature = 0.7 , response_modalities = ["TEXT" , "IMAGE" ]
138- ),
139- )
133+ for _ in range (3 ):
134+ result = llm .invoke (
135+ "Generate an image of a cat. Then, say meow!" ,
136+ config = dict (tags = ["meow" ]),
137+ generation_config = dict (
138+ top_k = 2 , top_p = 1 , temperature = 0.7 , response_modalities = ["TEXT" , "IMAGE" ]
139+ ),
140+ )
141+ if (
142+ isinstance (result .content , list )
143+ and len (result .content ) > 0
144+ and isinstance (result .content [0 ], dict )
145+ ):
146+ break
140147 assert isinstance (result , AIMessage )
141148 assert isinstance (result .content , list )
142149 assert isinstance (result .content [0 ], dict )
@@ -155,11 +162,18 @@ def test_chat_google_genai_invoke_with_modalities() -> None:
155162 response_modalities = [Modality .TEXT , Modality .IMAGE ], # type: ignore[list-item]
156163 )
157164
158- result = llm .invoke (
159- "Generate an image of a cat. Then, say meow!" ,
160- config = dict (tags = ["meow" ]),
161- generation_config = dict (top_k = 2 , top_p = 1 , temperature = 0.7 ),
162- )
165+ for _ in range (3 ):
166+ result = llm .invoke (
167+ "Generate an image of a cat. Then, say meow!" ,
168+ config = dict (tags = ["meow" ]),
169+ generation_config = dict (top_k = 2 , top_p = 1 , temperature = 0.7 ),
170+ )
171+ if (
172+ isinstance (result .content , list )
173+ and len (result .content ) > 0
174+ and isinstance (result .content [0 ], dict )
175+ ):
176+ break
163177 assert isinstance (result , AIMessage )
164178 assert isinstance (result .content , list )
165179 assert isinstance (result .content [0 ], dict )
0 commit comments