Download script/test_gemini.py from kshitiz14/SHL: direct link, hf CLI and curl.
- Browser
- Download file 2.22 kB
-
https://huggingface.co/spaces/kshitiz14/SHL/resolve/main/script/test_gemini.py
- Command line
-
hf download hf://spaces/kshitiz14/SHL/script/test_gemini.py
-
curl -L -o test_gemini.py https://huggingface.co/spaces/kshitiz14/SHL/resolve/main/script/test_gemini.py
2.22 kB
| """ | |
| Standalone Gemini connectivity test — run this directly to see the REAL | |
| error behind "I'm having trouble reaching the recommendation engine". | |
| Usage: | |
| python script/test_gemini.py | |
| """ | |
| import os | |
| import sys | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| key = os.getenv("GEMINI_API_KEY") | |
| print("=" * 60) | |
| print("GEMINI_API_KEY loaded:", "YES" if key else "NO (missing!)") | |
| if key: | |
| print("Key preview:", key[:6] + "..." + key[-4:] if len(key) > 10 else "(too short, looks wrong)") | |
| print("=" * 60) | |
| if not key: | |
| print("\n>>> Fix: open your .env file (NOT .env.example) and make sure it has:") | |
| print(">>> GEMINI_API_KEY=your_real_key_here") | |
| print(">>> Get a free key at: https://aistudio.google.com/apikey") | |
| sys.exit(1) | |
| try: | |
| import google.generativeai as genai | |
| except ImportError: | |
| print("\n>>> google-generativeai is not installed. Run: pip install google-generativeai") | |
| sys.exit(1) | |
| genai.configure(api_key=key) | |
| print("\nListing models available to this key...") | |
| try: | |
| models = list(genai.list_models()) | |
| flash_models = [m.name for m in models if "flash" in m.name.lower()] | |
| print(f"Found {len(models)} total models. Flash models available:") | |
| for m in flash_models: | |
| print(" -", m) | |
| except Exception as e: | |
| print("FAILED to list models — this usually means the API key itself is invalid:") | |
| print(f" {type(e).__name__}: {e}") | |
| sys.exit(1) | |
| print("\nTrying a real generate_content call with 'gemini-2.0-flash'...") | |
| try: | |
| model = genai.GenerativeModel("gemini-2.0-flash") | |
| response = model.generate_content("Say OK if you can hear me.") | |
| print("SUCCESS. Model replied:", response.text.strip()) | |
| except Exception as e: | |
| print("FAILED to call gemini-2.0-flash:") | |
| print(f" {type(e).__name__}: {e}") | |
| print("\n>>> Try swapping the model name in app/agent.py (_MODEL) for one of the") | |
| print(">>> 'Flash models available' listed above, then re-run this script.") | |
| sys.exit(1) | |
| print("\n" + "=" * 60) | |
| print("Gemini is working correctly. If /chat is still failing, the bug") | |
| print("is elsewhere (e.g. the FastAPI process isn't picking up the .env") | |
| print("file, or a different working directory is being used at runtime).") | |
| print("=" * 60) | |