| from shortGPT.api_utils.image_api import getBingImages |
| from tqdm import tqdm |
| import random |
| import math |
|
|
| def getImageUrlsTimed(imageTextPairs): |
| return [(pair[0], searchImageUrlsFromQuery(pair[1])) for pair in tqdm(imageTextPairs, desc='Search engine queries for images...')] |
|
|
|
|
|
|
| def searchImageUrlsFromQuery(query, top=3, expected_dim=[720,720], retries=5): |
| images = getBingImages(query, retries=retries) |
| if(images): |
| distances = list(map(lambda x: math.dist([x['width'], x['height']], expected_dim), images[0:top])) |
| shortest_ones = sorted(distances) |
| random.shuffle(shortest_ones) |
| for distance in shortest_ones: |
| image_url = images[distances.index(distance)]['url'] |
| return image_url |
| return None |