NeuroScope / backend /scratch_verify.py
Gaurav711's picture
feat: Migrate NeuroScope v2 to Firebase and Google Gemini Explainer
ca6c0e5
Raw
History Blame Contribute Delete
2.1 kB
import os
import sys
import logging
from pathlib import Path
from dotenv import load_dotenv
# Load env
ROOT_DIR = Path(__file__).parent
load_dotenv(ROOT_DIR / ".env", override=True)
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
logger = logging.getLogger("verify")
def verify_all():
print("=== NeuroScope v2 Configuration Verification ===\n")
# 1. Verify Firebase Setup
print("1. Testing Firebase Connection...")
try:
from neuroscope.firebase_init import get_db
db = get_db()
# Try to write/read a temporary document
doc_ref = db.collection("verify_test").document("status")
doc_ref.set({"status": "OK", "timestamp": "checking"})
data = doc_ref.get().to_dict()
assert data and data["status"] == "OK", "Data readback failed"
# Cleanup
doc_ref.delete()
print(" ✅ Firebase Firestore database connection works perfectly!\n")
except Exception as e:
print(f" ❌ Firebase Firestore test failed: {e}\n")
# 2. Verify LLM / Google Gemini API Key
print("2. Testing Google Gemini API Connection...")
try:
from neuroscope.llm import _init_client
import google.generativeai as genai
import asyncio
async def test_llm():
_init_client()
model = genai.GenerativeModel(
model_name="gemini-2.5-flash"
)
response = await model.generate_content_async(
"Hello, respond with 'Ready' if you can read this."
)
return response.text.strip()
res = asyncio.run(test_llm())
print(f" Response: '{res}'")
if "ready" in res.lower():
print(" ✅ Google Gemini API key and gemini-1.5-flash model are active and working!\n")
else:
print(" ⚠️ Gemini returned unexpected response, but connection succeeded!\n")
except Exception as e:
print(f" ❌ Google Gemini API test failed: {e}\n")
if __name__ == "__main__":
verify_all()