rtc-voice-chat/backend/server.py

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)