in backend-apis/app/utils/utils_imagen.py [0:0]
def annotate_image_names(images_names: list[str]) -> set[str]:
"""
Args:
images_names: list[str]
List of image names from Cloud Storage
Returns:
set[str]
Set of labels from Vision API
"""
images_requests = []
for image_name in images_names:
source = vision.ImageSource(
gcs_image_uri=(f"gs://{images_bucket_name}/images/{image_name}")
)
feature = vision.Feature(type_=vision.Feature.Type.LABEL_DETECTION)
images_requests.append(
vision.AnnotateImageRequest(
image=vision.Image(source=source),
features=[feature],
)
)
# Extract labels with Vision API
results = vision_client.batch_annotate_images(
request=vision.BatchAnnotateImagesRequest(requests=images_requests)
)
vision_labels = set()
for response in results.responses:
for i in response.label_annotations:
if i.score > 0.85:
vision_labels.add(i.description)
return vision_labels