Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python | |
| # -*- coding: utf-8 -*- | |
| """ | |
| Main application entry point | |
| """ | |
| from fastapi import FastAPI, Request, Response | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from app.core.config import settings | |
| from app.core import openai | |
| from app.api import admin | |
| from app.utils.reload_config import RELOAD_CONFIG | |
| from granian import Granian | |
| # Create FastAPI app | |
| app = FastAPI( | |
| title="OpenAI Compatible API Server", | |
| description="An OpenAI-compatible API server for Z.AI chat service", | |
| version="1.0.0", | |
| ) | |
| # Add CORS middleware | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["GET", "POST", "PUT", "DELETE", "OPTIONS"], | |
| allow_headers=["Content-Type", "Authorization"], | |
| ) | |
| # Include API routers | |
| app.include_router(openai.router) | |
| app.include_router(admin.router) | |
| async def handle_options(): | |
| """Handle OPTIONS requests""" | |
| return Response(status_code=200) | |
| async def root(): | |
| """Root endpoint""" | |
| return {"message": "OpenAI Compatible API Server"} | |
| def run_server(): | |
| Granian( | |
| "main:app", | |
| interface="asgi", | |
| address="0.0.0.0", | |
| port=settings.LISTEN_PORT, | |
| reload=False, # 生产环境请关闭热重载 | |
| **RELOAD_CONFIG, | |
| ).serve() | |
| if __name__ == "__main__": | |
| run_server() | |