# scripts/run_query_api.py import sys import os # Add the project root to the sys.path # Assuming this script is in the project root or a 'scripts' subdir at root sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) import uvicorn from src.query_service.api import app # Import the FastAPI app instance import logging logger = logging.getLogger(__name__) if __name__ == "__main__": # --- Financial Ministry Adaptation --- # Configure host and port appropriately for your deployment environment. # Do not use reload=True in production. # Consider using environment variables for host/port in production. # Implement process management (e.g., systemd, Docker entrypoint) for production. # ------------------------------------ logger.info("Starting the RAG query API service.") try: uvicorn.run(app, host="0.0.0.0", port=8000) # Bind to 0.0.0.0 to be accessible externally except Exception as e: logger.critical(f"RAG query API service failed: {e}") sys.exit(1) # Exit with an error code