Spaces:
Sleeping
Sleeping
Update api.py
Browse files
api.py
CHANGED
|
@@ -21,13 +21,11 @@ NEO4J_PASSWORD = os.getenv("NEO4J_PASSWORD")
|
|
| 21 |
if not NEO4J_URI or not NEO4J_USER or not NEO4J_PASSWORD:
|
| 22 |
logger.critical("CRITICAL ERROR: NEO4J_URI, NEO4J_USER, and NEO4J_PASSWORD environment variables must be set.")
|
| 23 |
|
| 24 |
-
client = None
|
| 25 |
# --- Application Lifecycle (Startup/Shutdown) ---
|
| 26 |
@asynccontextmanager
|
| 27 |
async def lifespan(app: FastAPI):
|
| 28 |
"""Handles startup and shutdown events."""
|
| 29 |
# Initialize Gemini Client
|
| 30 |
-
global client
|
| 31 |
logger.info("Initializing Gemini client...")
|
| 32 |
if genai:
|
| 33 |
try:
|
|
@@ -35,8 +33,9 @@ async def lifespan(app: FastAPI):
|
|
| 35 |
api_key = os.getenv("GEMINI_API_KEY") or getattr(settings, "GEMINI_API_KEY", None)
|
| 36 |
if not api_key:
|
| 37 |
raise ValueError("GEMINI_API_KEY not found in environment or settings.")
|
| 38 |
-
|
| 39 |
-
|
|
|
|
| 40 |
except Exception as e:
|
| 41 |
logger.error(f"Failed to configure Gemini client: {e}", exc_info=True)
|
| 42 |
else:
|
|
@@ -46,9 +45,6 @@ async def lifespan(app: FastAPI):
|
|
| 46 |
|
| 47 |
# --- Shutdown ---
|
| 48 |
logger.info("API shutting down...")
|
| 49 |
-
# Close Neo4j connection (handled by atexit in graph_client.py)
|
| 50 |
-
# neo4j_client.close() # Usually not needed due to atexit registration
|
| 51 |
-
logger.info("Neo4j client closed (likely via atexit).")
|
| 52 |
logger.info("API shutdown complete.")
|
| 53 |
|
| 54 |
# Initialize FastAPI application
|
|
|
|
| 21 |
if not NEO4J_URI or not NEO4J_USER or not NEO4J_PASSWORD:
|
| 22 |
logger.critical("CRITICAL ERROR: NEO4J_URI, NEO4J_USER, and NEO4J_PASSWORD environment variables must be set.")
|
| 23 |
|
|
|
|
| 24 |
# --- Application Lifecycle (Startup/Shutdown) ---
|
| 25 |
@asynccontextmanager
|
| 26 |
async def lifespan(app: FastAPI):
|
| 27 |
"""Handles startup and shutdown events."""
|
| 28 |
# Initialize Gemini Client
|
|
|
|
| 29 |
logger.info("Initializing Gemini client...")
|
| 30 |
if genai:
|
| 31 |
try:
|
|
|
|
| 33 |
api_key = os.getenv("GEMINI_API_KEY") or getattr(settings, "GEMINI_API_KEY", None)
|
| 34 |
if not api_key:
|
| 35 |
raise ValueError("GEMINI_API_KEY not found in environment or settings.")
|
| 36 |
+
else:
|
| 37 |
+
genai.configure(api_key=api_key)
|
| 38 |
+
logger.info("Gemini client configured successfully.")
|
| 39 |
except Exception as e:
|
| 40 |
logger.error(f"Failed to configure Gemini client: {e}", exc_info=True)
|
| 41 |
else:
|
|
|
|
| 45 |
|
| 46 |
# --- Shutdown ---
|
| 47 |
logger.info("API shutting down...")
|
|
|
|
|
|
|
|
|
|
| 48 |
logger.info("API shutdown complete.")
|
| 49 |
|
| 50 |
# Initialize FastAPI application
|