booth-pic-api / backend /scraper /debug_gemini.py
github-actions
Deploy to HF (clean history with LFS)
a06f06c
import os
import json
import logging
from PIL import Image
import google.generativeai as genai
from dotenv import load_dotenv
load_dotenv()
logging.basicConfig(level=logging.INFO)
api_key = os.environ.get("GEMINI_API_KEY")
if not api_key:
logging.error("GEMINI_API_KEY environment variable is not set.")
exit(1)
genai.configure(api_key=api_key)
print(f"GenAI Version: {genai.__version__}")
model = genai.GenerativeModel('gemini-1.5-flash')
import traceback
def debug_one():
dataset_dir = "data/yolo_dataset/images"
image_files = [f for f in os.listdir(dataset_dir) if f.lower().endswith(('.jpg', '.png', '.jpeg'))]
print("Testing TEXT ONLY first...")
try:
response = model.generate_content("Hello, world!")
print(f"Text response: {response.text}")
except:
print(f"Text error:\n{traceback.format_exc()}")
if not image_files:
print("No images found.")
return
# Find any image in the dataset for testing
dataset_dir = "data/yolo_dataset/images"
image_files = [f for f in os.listdir(dataset_dir) if f.lower().endswith(('.jpg', '.png', '.jpeg'))]
if not image_files: return
# Copy to a very simple path to avoid ANY encoding issues
import shutil
src_img = os.path.join(dataset_dir, image_files[0])
img_path = "debug_tmp.jpg"
shutil.copy(src_img, img_path)
print(f"Testing IMAGE with simple path: {img_path}")
try:
from PIL import Image
img = Image.open(img_path)
# Explicit model name
model = genai.GenerativeModel(model_name='gemini-1.5-flash')
# Simplest call possible
response = model.generate_content(img)
print(f"Image success! Response: {response.text}")
except:
print(f"Image error:\n{traceback.format_exc()}")
if __name__ == "__main__":
debug_one()