def generate_description_for_image()

in appdev_genai_googlecloud/src/genai-app/main.py [0:0]


def generate_description_for_image(bucket_name:str, name:str, content_type:str):
    vertexai.init(project=project_id, location=region)

    model = GenerativeModel(model_name=text_model_name)
    image_file = Part.from_uri(f'gs://{bucket_name}/{name}', content_type)

    config = GenerationConfig(
        max_output_tokens=2048, temperature=0, top_p=1, top_k=32
    )

    prompt = """What is this image?
    Output the result in Japanese up to the maximum of 2 sentences."""

    retry_interval = 3
    retry_count = 3

    for i in range(0, retry_count):
        try:
            response = model.generate_content([image_file, prompt], generation_config=config)
            break
        except Exception as e:
            if i + 1 == retry_count:
                raise e
            time.sleep(retry_interval)
            continue
    
    return response.text