Zeph27 commited on
Commit
2f8463c
Β·
1 Parent(s): d377414

update context

Browse files
Files changed (1) hide show
  1. app.py +10 -9
app.py CHANGED
@@ -82,23 +82,24 @@ def analyze_video(prompt, video, progress=gr.Progress()):
82
  else:
83
  video_path = video.name
84
 
85
- progress(10, desc="Encoding video")
86
  encoded_video = encode_video(video_path)
87
 
88
- progress(30, desc="Extracting audio")
89
  # Extract audio and transcribe
90
  audio_path = extract_audio(video_path)
91
 
92
- progress(50, desc="Transcribing audio")
93
  transcription = transcribe_audio(audio_path)
94
 
95
  # Clean up temporary audio file
96
  os.remove(audio_path)
97
 
98
- progress(70, desc="Preparing context")
99
  context = [
100
- {"role": "user", "content": [prompt] + encoded_video},
101
- {"role": "assistant", "content": f"Transcription of the video: {transcription}"}
 
102
  ]
103
  params = {
104
  'sampling': True,
@@ -112,16 +113,16 @@ def analyze_video(prompt, video, progress=gr.Progress()):
112
  "max_slice_nums": 1 if len(encoded_video) > 16 else 2
113
  }
114
 
115
- progress(80, desc="Generating response")
116
  response = model.chat(image=None, msgs=context, tokenizer=tokenizer, **params)
117
 
118
- progress(90, desc="Finalizing")
119
  end_time = time.time()
120
  processing_time = end_time - start_time
121
  analysis_result = f"Analysis Result:\n{response}\n\n"
122
  processing_time = f"Processing Time: {processing_time:.2f} seconds"
123
 
124
- progress(100, desc="Complete")
125
  return analysis_result, processing_time
126
 
127
  with gr.Blocks() as demo:
 
82
  else:
83
  video_path = video.name
84
 
85
+ progress(0.1, desc="Encoding video")
86
  encoded_video = encode_video(video_path)
87
 
88
+ progress(0.3, desc="Extracting audio")
89
  # Extract audio and transcribe
90
  audio_path = extract_audio(video_path)
91
 
92
+ progress(0.5, desc="Transcribing audio")
93
  transcription = transcribe_audio(audio_path)
94
 
95
  # Clean up temporary audio file
96
  os.remove(audio_path)
97
 
98
+ progress(0.7, desc="Preparing context")
99
  context = [
100
+ {"role": "user", "content": encoded_video},
101
+ {"role": "assistant", "content": f"Transcription of the video: {transcription}"},
102
+ {"role": "user", "content": prompt}
103
  ]
104
  params = {
105
  'sampling': True,
 
113
  "max_slice_nums": 1 if len(encoded_video) > 16 else 2
114
  }
115
 
116
+ progress(0.8, desc="Generating response")
117
  response = model.chat(image=None, msgs=context, tokenizer=tokenizer, **params)
118
 
119
+ progress(0.9, desc="Finalizing")
120
  end_time = time.time()
121
  processing_time = end_time - start_time
122
  analysis_result = f"Analysis Result:\n{response}\n\n"
123
  processing_time = f"Processing Time: {processing_time:.2f} seconds"
124
 
125
+ progress(1, desc="Complete")
126
  return analysis_result, processing_time
127
 
128
  with gr.Blocks() as demo: