Files
InternalAuditInterprise/backend/app/main.py
T
2026-06-16 00:38:57 +08:00

46 lines
1.1 KiB
Python

"""AIAudit FastAPI 应用入口。"""
from __future__ import annotations
from contextlib import asynccontextmanager
from fastapi import FastAPI
from app import __version__
from app.api.datahub import router as datahub_router
from app.config import get_settings
@asynccontextmanager
async def lifespan(app: FastAPI):
# 启动时执行数据零出域红线校验,违规则阻断启动
settings = get_settings()
settings.validate_egress_policy()
yield
app = FastAPI(
title="AIAudit · 本地 AI 内审平台",
version=__version__,
lifespan=lifespan,
)
app.include_router(datahub_router)
@app.get("/health")
def health() -> dict:
"""存活探针。"""
return {"status": "ok", "version": __version__}
@app.get("/health/config")
def health_config() -> dict:
"""配置/合规探针:暴露环境与 LLM provider 出域状态(不含密钥)。"""
settings = get_settings()
return {
"env": settings.aiaudit_env.value,
"llm_provider": settings.llm_provider.value,
"egress_blocked_in_prod": settings.is_prod,
}