fakeshield-api / backend /start_backend.py
Akash4911's picture
Add startup port debug and OpenAPI path logging
8790ebb
Raw
History Blame Contribute Delete
1.25 kB
import os
import sys
import subprocess
# Set environment variables for clean startup
os.environ["PYTHONUTF8"] = "1"
os.environ["PYTHONWARNINGS"] = "ignore:Multiple distributions found for package optimum"
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3"
os.environ["PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION"] = "python"
os.environ["FAKESHIELD_SKIP_WARMUP"] = "0" # Enable background model pre-loading
# Handle optional arguments
if "--fast" in sys.argv:
os.environ["FAKESHIELD_SKIP_WARMUP"] = "1"
print(">> Fast Mode enabled: Skipping forensic model pre-loading.")
# Define the command to run (using uvicorn directly for stable startup)
# Use the PORT environment variable if set, otherwise default to Hugging Face's 7860.
port = int(os.environ.get("PORT", os.environ.get("API_PORT", "7860")))
cmd = [sys.executable, "-m", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", str(port)]
# Change directory to the script's directory (backend)
os.chdir(os.path.dirname(os.path.abspath(__file__)))
print(f"Starting FakeShield Backend v10.0 (UTF-8 Mode) on port {port}...")
try:
subprocess.run(cmd, check=True)
except KeyboardInterrupt:
print("\nBackend stopped by user.")
except Exception as e:
print(f"\nBackend crashed: {e}")