File size: 1,743 Bytes
5f685fd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
from shortGPT.gpt import gpt_utils
import json
def getImageQueryPairs(captions,n=15 ,maxTime=2):
chat, _ = gpt_utils.load_local_yaml_prompt('prompt_templates/editing_generate_images.yaml')
prompt = chat.replace('<<CAPTIONS TIMED>>', f"{captions}").replace("<<NUMBER>>", f"{n}")
res = gpt_utils.gpt3Turbo_completion(chat_prompt=prompt)
imagesCouples = ('{'+res).replace('{','').replace('}','').replace('\n', '').split(',')
pairs = []
t0 = 0
end_audio = captions[-1][0][1]
for a in imagesCouples:
try:
query = a[a.find("'")+1:a.rfind("'")]
time = float(a.split(":")[0].replace(' ',''))
if (time > t0 and time< end_audio):
pairs.append((time, query+" image"))
t0 = time
except:
print('problem extracting image queries from ', a)
for i in range(len(pairs)):
if(i!= len(pairs)-1):
end = pairs[i][0]+ maxTime if (pairs[i+1][0] - pairs[i][0]) > maxTime else pairs[i+1][0]
else:
end = pairs[i][0]+ maxTime if (end_audio - pairs[i][0]) > maxTime else end_audio
pairs[i] = ((pairs[i][0], end), pairs[i][1])
return pairs
def getVideoSearchQueriesTimed(captions_timed):
end = captions_timed[-1][0][1]
chat, system = gpt_utils.load_local_yaml_prompt('prompt_templates/editing_generate_videos.yaml')
chat = chat.replace("<<TIMED_CAPTIONS>>", f"{captions_timed}")
out = [[[0,0],""]]
while out[-1][0][1] != end:
try:
out = json.loads(gpt_utils.gpt3Turbo_completion(chat_prompt=chat, system=system, temp=1).replace("'", '"'))
except Exception as e:
print(e)
print("not the right format")
return out |