47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
import logging
|
|
from pathlib import Path
|
|
|
|
from dotenv import load_dotenv
|
|
|
|
BASE_DIR = Path(__file__).parent
|
|
load_dotenv(BASE_DIR / ".env", override=False)
|
|
|
|
logging.basicConfig(
|
|
level=logging.DEBUG,
|
|
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
|
|
datefmt="%H:%M:%S",
|
|
)
|
|
# 压制第三方库的 DEBUG 噪音
|
|
logging.getLogger("httpx").setLevel(logging.WARNING)
|
|
logging.getLogger("httpcore").setLevel(logging.WARNING)
|
|
logging.getLogger("openai").setLevel(logging.WARNING)
|
|
logging.getLogger("uvicorn").setLevel(logging.INFO)
|
|
|
|
# 路由必须在 load_dotenv 之后导入,因为模块级代码会读取环境变量
|
|
from routes.chat_callback import router as chat_callback_router # noqa: E402
|
|
from routes.debug import router as debug_router # noqa: E402
|
|
from routes.proxy import router as proxy_router # noqa: E402
|
|
from routes.scenes import router as scenes_router # noqa: E402
|
|
|
|
from fastapi import FastAPI # noqa: E402
|
|
from fastapi.middleware.cors import CORSMiddleware # noqa: E402
|
|
|
|
app = FastAPI()
|
|
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"],
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
app.include_router(proxy_router)
|
|
app.include_router(scenes_router)
|
|
app.include_router(chat_callback_router)
|
|
app.include_router(debug_router)
|
|
|
|
if __name__ == "__main__":
|
|
import uvicorn
|
|
|
|
uvicorn.run("server:app", host="0.0.0.0", port=3001, reload=True)
|