fir-gen / app /main.py
aniudupa's picture
Update app/main.py
684ff5c verified
from fastapi import FastAPI
import uvicorn
from app.lawbot import router as lawgpt_router
from app.predict_pipeline import router as bail_reckoner_router
from app.fir_pdf_gen import router as fir_router
import os
# Set cache directory to a path you have permission to write to
# Set custom cache directories
os.makedirs("/app/.cache/huggingface/transformers", exist_ok=True)
os.makedirs("/app/.cache/sentence_transformers", exist_ok=True)
os.makedirs("/app/.cache/torch", exist_ok=True)
os.environ["HF_HOME"] = "/app/.cache/huggingface"
os.environ["TRANSFORMERS_CACHE"] = "/app/.cache/huggingface/transformers"
os.environ["SENTENCE_TRANSFORMERS_HOME"] = "/app/.cache/sentence_transformers"
os.environ["TORCH_HOME"] = "/app/.cache/torch"
app = FastAPI()
# Include routers with distinct prefixes
app.include_router(lawgpt_router, prefix="/lawgpt", tags=["LawGPT"])
app.include_router(bail_reckoner_router, prefix="/bail-reckoner", tags=["Bail Reckoner"])
app.include_router(fir_router, prefix="/generate-fir", tags=["Generate FIR"])
@app.get("/")
async def root():
return {
"message": "API Gateway is running",
"routes": ["/lawgpt", "/bail-reckoner", "/generate-fir", "/process-fir-description"]
}
if __name__ == "__main__":
port = int(os.getenv("PORT", 7860)) # Default to 7860 if PORT is not set
# Force the host to localhost only
uvicorn.run("main:app", host="0.0.0.0", port=port)