Spaces:
Sleeping
Sleeping
import constants | |
import google.generativeai as genai | |
from langchain_core.tools import tool | |
from PIL import Image | |
import io | |
import base64 | |
def image_to_text(image_base64_str, instructions): | |
""" | |
Generates a text describing an image provided as a base64 string. | |
Args: | |
image_bytes (bytes): the bytes of the image to de described. | |
instructions (str): instructions to describe the image. | |
Returns: | |
str: A string describing the image according to the instructions given. | |
""" | |
image_bytes = base64.b64decode(image_base64_str) | |
genai.configure(api_key=constants.API_KEY) | |
model = genai.GenerativeModel('gemini-2.5-pro-preview-05-06') | |
response = model.generate_content( | |
[ | |
{ | |
"mime_type": "image/jpeg", | |
"data": image_bytes | |
}, | |
instructions | |
] | |
) | |
print('generated text from image: ' + response.text) | |
return response.text | |
if __name__ == '__main__': | |
# Example usage: | |
# 1. Load an image from a file (replace with your image path) | |
image_path = r"C:\Users\agazo\Downloads\cca530fc-4052-43b2-b130-b30968d8aa44_file.png" # Replace with a valid image path | |
try: | |
with open(image_path, "rb") as image_file: | |
image_bytes = image_file.read() | |
except FileNotFoundError: | |
print(f"Error: File not found at {image_path}. Please make sure the path is correct and the file exists.") | |
exit() | |
# 2. Call the function | |
text = image_to_text.invoke( | |
{ | |
"image_bytes": image_bytes, | |
"instructions": 'Describe the chessboard in this image and provide the FEN notation.' | |
} | |
) | |
print(f"FEN: {text}") | |
#resultado esperado do FEN; `3r2k1/pp3pp1/4b2p/7Q/3n4/PqBBR2P/5PP1/6K1 w - - 0 1` |