4343async def generate (prompt , first_frame_image = None , last_frame_image = None ):
4444 try :
4545 if first_frame_image is None :
46- logger .debug ("text generation" )
4746 response = client .content_generation .tasks .create (
4847 model = getenv ("MODEL_VIDEO_NAME" , DEFAULT_VIDEO_MODEL_NAME ),
4948 content = [
5049 {"type" : "text" , "text" : prompt },
5150 ],
5251 )
5352 elif last_frame_image is None :
54- logger .debug ("first frame generation" )
5553 response = client .content_generation .tasks .create (
5654 model = getenv ("MODEL_VIDEO_NAME" , DEFAULT_VIDEO_MODEL_NAME ),
5755 content = cast (
@@ -66,7 +64,6 @@ async def generate(prompt, first_frame_image=None, last_frame_image=None):
6664 ),
6765 )
6866 else :
69- logger .debug ("last frame generation" )
7067 response = client .content_generation .tasks .create (
7168 model = getenv ("MODEL_VIDEO_NAME" , DEFAULT_VIDEO_MODEL_NAME ),
7269 content = [
@@ -197,9 +194,13 @@ async def video_generate(params: list, tool_context: ToolContext) -> Dict:
197194 batch_size = 10
198195 success_list = []
199196 error_list = []
197+ logger .debug (f"Using model: { getenv ('MODEL_VIDEO_NAME' , DEFAULT_VIDEO_MODEL_NAME )} " )
198+ logger .debug (f"video_generate params: { params } " )
200199
201200 for start_idx in range (0 , len (params ), batch_size ):
202201 batch = params [start_idx : start_idx + batch_size ]
202+ logger .debug (f"video_generate batch { start_idx // batch_size } : { batch } " )
203+
203204 task_dict = {}
204205 tracer = trace .get_tracer ("gcp.vertex.agent" )
205206 with tracer .start_as_current_span ("call_llm" ) as span :
@@ -216,15 +217,30 @@ async def video_generate(params: list, tool_context: ToolContext) -> Dict:
216217 last_frame = item .get ("last_frame" , None )
217218 try :
218219 if not first_frame :
220+ logger .debug (
221+ f"video_generate task_{ idx } text generation: prompt={ prompt } "
222+ )
219223 response = await generate (prompt )
220224 elif not last_frame :
225+ logger .debug (
226+ f"video_generate task_{ idx } first frame generation: prompt={ prompt } , first_frame={ first_frame } "
227+ )
221228 response = await generate (prompt , first_frame )
222229 else :
230+ logger .debug (
231+ f"video_generate task_{ idx } first and last frame generation: prompt={ prompt } , first_frame={ first_frame } , last_frame={ last_frame } "
232+ )
223233 response = await generate (prompt , first_frame , last_frame )
234+ logger .debug (
235+ f"batch_{ start_idx // batch_size } video_generate task_{ idx } response: { response } "
236+ )
224237 task_dict [response .id ] = video_name
225238 except Exception as e :
226239 logger .error (f"Error: { e } " )
227240 error_list .append (video_name )
241+ continue
242+
243+ logger .debug ("begin query video_generate task status..." )
228244
229245 while True :
230246 task_list = list (task_dict .keys ())
@@ -234,7 +250,9 @@ async def video_generate(params: list, tool_context: ToolContext) -> Dict:
234250 result = client .content_generation .tasks .get (task_id = task_id )
235251 status = result .status
236252 if status == "succeeded" :
237- logger .debug ("----- task succeeded -----" )
253+ logger .debug (
254+ f"{ task_dict [task_id ]} video_generate { status } . Video URL: { result .content .video_url } "
255+ )
238256 tool_context .state [f"{ task_dict [task_id ]} _video_url" ] = (
239257 result .content .video_url
240258 )
@@ -248,13 +266,14 @@ async def video_generate(params: list, tool_context: ToolContext) -> Dict:
248266 )
249267 task_dict .pop (task_id , None )
250268 elif status == "failed" :
251- logger .error ("----- task failed -----" )
252- logger .error (f"Error: { result .error } " )
269+ logger .error (
270+ f"{ task_dict [task_id ]} video_generate { status } . Error: { result .error } "
271+ )
253272 error_list .append (task_dict [task_id ])
254273 task_dict .pop (task_id , None )
255274 else :
256275 logger .debug (
257- f"Current status: { status } , Retrying after 10 seconds..."
276+ f"{ task_dict [ task_id ] } video_generate current status: { status } , Retrying after 10 seconds..."
258277 )
259278 time .sleep (10 )
260279
@@ -270,12 +289,18 @@ async def video_generate(params: list, tool_context: ToolContext) -> Dict:
270289 )
271290
272291 if len (success_list ) == 0 :
292+ logger .debug (
293+ f"video_generate success_list: { success_list } \n error_list: { error_list } "
294+ )
273295 return {
274296 "status" : "error" ,
275297 "success_list" : success_list ,
276298 "error_list" : error_list ,
277299 }
278300 else :
301+ logger .debug (
302+ f"video_generate success_list: { success_list } \n error_list: { error_list } "
303+ )
279304 return {
280305 "status" : "success" ,
281306 "success_list" : success_list ,
0 commit comments